Libcloud
  1. Libcloud
  2. LIBCLOUD-78

Implement "LazyList" class which implements iterator interface and encapsulates paging

    Details

      Description

      Develop a generic LazyList class which implements iterator interface and can be used with the CloudFiles and S3 driver.

      CloudFiles and S3 API limits the maximum number of objects which can be returned in a single response which means that on subsequent request you need to provider extra parameters to get the next set of results (marker, prefix, etc.).

      This class should transparently encapsulate this paging process and list_container_objects() in CloudFiles and S3 method should return an instance of this class.

      The class should also be "lazy" which means that new set of results should only be requested when the current result set is exhausted.

        Issue Links

          Activity

          Mahendra M made changes -
          Link This issue relates to LIBCLOUD-254 [ LIBCLOUD-254 ]
          Tomaz Muraus made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Tomaz Muraus made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 0.5.2 [ 12316682 ]
          Resolution Fixed [ 1 ]
          Tomaz Muraus made changes -
          Field Original Value New Value
          Attachment lazy_list_implementation.patch [ 12483840 ]
          Hide
          Tomaz Muraus added a comment -

          An implementation of LazyList with tests + modified the S3 and CloudFiles to use it.

          Code has been contributed by Danny Clark and Wiktor Kolodziej.

          Show
          Tomaz Muraus added a comment - An implementation of LazyList with tests + modified the S3 and CloudFiles to use it. Code has been contributed by Danny Clark and Wiktor Kolodziej.
          Tomaz Muraus created issue -

            People

            • Assignee:
              Unassigned
              Reporter:
              Tomaz Muraus
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development