Part of bzrlib.transport.trace View In Hierarchy
Calls that potentially perform IO are logged to self._activity. The _activity attribute is shared as the transport is cloned, but not if a new transport is created without cloning.
Not all operations are logged at this point, if you need an unlogged operation please add a test to the tests of this transport, for the logging of the operation you want logged.
See also TransportLogDecorator, that records a machine-readable log in memory for eg testing.
Method | __init__ | Set the 'base' path where files will be stored. |
Method | append_file | See Transport.append_file(). |
Method | append_bytes | See Transport.append_bytes(). |
Method | delete | See Transport.delete(). |
Method | delete_tree | See Transport.delete_tree(). |
Method | get | See Transport.get(). |
Method | get_smart_client | Undocumented |
Method | has | See Transport.has(). |
Method | is_readonly | See Transport.is_readonly. |
Method | mkdir | See Transport.mkdir(). |
Method | open_write_stream | See Transport.open_write_stream. |
Method | put_file | See Transport.put_file(). |
Method | put_bytes | See Transport.put_bytes(). |
Method | put_bytes_non_atomic | See Transport.put_bytes_non_atomic. |
Method | listable | See Transport.listable. |
Method | iter_files_recursive | See Transport.iter_files_recursive(). |
Method | list_dir | See Transport.list_dir(). |
Method | readv | Get parts of the file at the given relative path. |
Method | recommended_page_size | See Transport.recommended_page_size(). |
Method | rename | Rename a file or directory. |
Method | rmdir | See Transport.rmdir. |
Method | stat | See Transport.stat(). |
Method | lock_read | See Transport.lock_read. |
Method | lock_write | See Transport.lock_write. |
Class Method | _get_url_prefix | Tracing transports are identified by 'trace+' |
Method | _trace | Record that a transport operation occured. |
Inherited from TransportDecorator:
Method | abspath | See Transport.abspath(). |
Method | clone | See Transport.clone(). |
Method | external_url | See bzrlib.transport.Transport.external_url. |
Method | _can_roundtrip_unix_modebits | See Transport._can_roundtrip_unix_modebits(). |
Method | _readv | See Transport._readv. |
Method | _get_segment_parameters | Undocumented |
Method | _set_segment_parameters | Undocumented |
Method | _redirected_to | Returns a transport suitable to re-issue a redirected request. |
Inherited from Transport (via TransportDecorator):
Method | create_prefix | Create all the directories leading down to self.base. |
Method | ensure_base | Ensure that the directory this transport references exists. |
Method | get_segment_parameters | Return the segment parameters for the top segment of the URL. |
Method | relpath | Return the local path portion from a given absolute path. |
Method | local_abspath | Return the absolute path on the local filesystem. |
Method | has_multi | Return True/False for each entry in relpaths |
Method | has_any | Return True if any of the paths exist. |
Method | get_bytes | Get a raw string of the bytes for a file at the given location. |
Method | get_smart_medium | Return a smart client medium for this transport if possible. |
Method | get_multi | Get a list of file-like objects, one for each entry in relpaths. |
Method | put_file_non_atomic | Copy the file-like object into the target location. |
Method | mkdir_multi | Create a group of directories |
Method | append_multi | Append the text in each file-like or string object to |
Method | copy | Copy the item at rel_from to the location at rel_to. |
Method | copy_multi | Copy a bunch of entries. |
Method | copy_to | Copy a set of entries from self into another Transport. |
Method | copy_tree | Copy a subtree from one relpath to another. |
Method | copy_tree_to_transport | Copy a subtree from one transport to another. |
Method | move | Move the item at rel_from to the location at rel_to. |
Method | move_multi | Move a bunch of entries. |
Method | move_multi_to | Move a bunch of entries to a single location. |
Method | delete_multi | Queue up a bunch of deletes to be done. |
Method | __repr__ | Undocumented |
Method | stat_multi | Stat multiple files and return the information. |
Method | readlink | Return a string representing the path to which the symbolic link points. |
Method | hardlink | Create a hardlink pointing to source named link_name. |
Method | symlink | Create a symlink pointing to source named link_name. |
Method | disconnect | Undocumented |
Method | _translate_error | Translate an IOError or OSError into an appropriate bzr error. |
Method | _pump | Most children will need to copy from one file-like |
Method | _get_total | Try to figure out how many entries are in multi, |
Method | _report_activity | Notify that this transport has activity. |
Method | _update_pb | Update the progress bar based on the current count |
Method | _iterate_over | Iterate over all entries in multi, passing them to func, |
Method | _seek_and_read | An implementation of readv that uses fp.seek and fp.read. |
Method | _sort_expand_and_combine | Helper for readv. |
Static Method | _coalesce_offsets | Yield coalesced offsets. |
Method | _reuse_for | Undocumented |
_decorated is a private parameter for cloning.
Parameters | relpath | The path to read data from. |
offsets | A list of (offset, size) tuples. | |
adjust_for_latency | Adjust the requested offsets to accomodate transport latency. This may re-order the offsets, expand them to grab adjacent data when there is likely a high cost to requesting data relative to delivering it. | |
upper_limit | When adjust_for_latency is True setting upper_limit allows the caller to tell the transport about the length of the file, so that requests are not issued for ranges beyond the end of the file. This matters because some servers and/or transports error in such a case rather than just satisfying the available ranges. upper_limit should always be provided when adjust_for_latency is True, and should be the size of the file in bytes. | |
Returns | A list or generator of (offset, data) tuples |
This must fail if the destination is a nonempty directory - it must not automatically remove it. It should raise DirectoryNotEmpty, or some other PathError if the case can't be specifically detected.
If the destination is an empty directory or a file this function may either fail or succeed, depending on the underlying transport. It should not attempt to remove the destination if overwriting is not the native transport behaviour. If at all possible the transport should ensure that the rename either completes or not, without leaving the destination deleted and the new file not moved in place.
This is intended mainly for use in implementing LockDir.