Holds metadata about the TransferFuture
| 120 | |
| 121 | |
| 122 | class TransferMeta(BaseTransferMeta): |
| 123 | """Holds metadata about the TransferFuture""" |
| 124 | |
| 125 | def __init__(self, call_args=None, transfer_id=None): |
| 126 | self._call_args = call_args |
| 127 | self._transfer_id = transfer_id |
| 128 | self._size = None |
| 129 | self._user_context = {} |
| 130 | self._etag = None |
| 131 | self._full_object_checksum = None |
| 132 | |
| 133 | @property |
| 134 | def call_args(self): |
| 135 | """The call args used in the transfer request""" |
| 136 | return self._call_args |
| 137 | |
| 138 | @property |
| 139 | def transfer_id(self): |
| 140 | """The unique id of the transfer""" |
| 141 | return self._transfer_id |
| 142 | |
| 143 | @property |
| 144 | def size(self): |
| 145 | """The size of the transfer request if known""" |
| 146 | return self._size |
| 147 | |
| 148 | @property |
| 149 | def user_context(self): |
| 150 | """A dictionary that requesters can store data in""" |
| 151 | return self._user_context |
| 152 | |
| 153 | @property |
| 154 | def etag(self): |
| 155 | """The etag of the stored object for validating multipart downloads""" |
| 156 | return self._etag |
| 157 | |
| 158 | def provide_transfer_size(self, size): |
| 159 | """A method to provide the size of a transfer request |
| 160 | |
| 161 | By providing this value, the TransferManager will not try to |
| 162 | call HeadObject or use the use OS to determine the size of the |
| 163 | transfer. |
| 164 | """ |
| 165 | self._size = size |
| 166 | |
| 167 | def provide_object_etag(self, etag): |
| 168 | """A method to provide the etag of a transfer request |
| 169 | |
| 170 | By providing this value, the TransferManager will validate |
| 171 | multipart downloads by supplying an IfMatch parameter with |
| 172 | the etag as the value to GetObject requests. |
| 173 | """ |
| 174 | self._etag = etag |
| 175 | |
| 176 | @property |
| 177 | def full_object_checksum(self): |
| 178 | """The full object checksum info""" |
| 179 | return self._full_object_checksum |
no outgoing calls