MCPcopy Index your code
hub / github.com/borgbackup/borg / RemoteRepository

Class RemoteRepository

src/borg/remote.py:516–1066  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

514
515
516class RemoteRepository:
517 extra_test_args = [] # type: ignore
518
519 class RPCError(Exception):
520 def __init__(self, unpacked):
521 # unpacked has keys: 'exception_args', 'exception_full', 'exception_short', 'sysinfo'
522 self.unpacked = unpacked
523
524 def get_message(self):
525 return "\n".join(self.unpacked["exception_short"])
526
527 @property
528 def traceback(self):
529 return self.unpacked.get("exception_trace", True)
530
531 @property
532 def exception_class(self):
533 return self.unpacked["exception_class"]
534
535 @property
536 def exception_full(self):
537 return "\n".join(self.unpacked["exception_full"])
538
539 @property
540 def sysinfo(self):
541 return self.unpacked["sysinfo"]
542
543 class RPCServerOutdated(Error):
544 """Borg server is too old for {}. Required version {}"""
545
546 exit_mcode = 84
547
548 @property
549 def method(self):
550 return self.args[0]
551
552 @property
553 def required_version(self):
554 return self.args[1]
555
556 def __init__(self, location, create=False, exclusive=False, lock_wait=1.0, lock=True, args=None):
557 self.location = self._location = location
558 self.preload_ids = []
559 self.msgid = 0
560 self.rx_bytes = 0
561 self.tx_bytes = 0
562 self.to_send = EfficientCollectionQueue(1024 * 1024, bytes)
563 self.stdin_fd = self.stdout_fd = self.stderr_fd = None
564 self.stderr_received = b"" # incomplete stderr line bytes received (no \n yet)
565 self.chunkid_to_msgids = {}
566 self.ignore_responses = set()
567 self.responses = {}
568 self.async_responses = {}
569 self.shutdown_time = None
570 self.ratelimit = SleepingBandwidthLimiter(args.upload_ratelimit * 1024 if args and args.upload_ratelimit else 0)
571 self.upload_buffer_size_limit = args.upload_buffer * 1024 * 1024 if args and args.upload_buffer else 0
572 self.unpacker = get_limited_unpacker("client")
573 self.server_version = None # we update this after server sends its version

Callers 4

do_versionMethod · 0.85
remote_repositoryFunction · 0.85
reopenFunction · 0.85
open_repositoryFunction · 0.85

Calls

no outgoing calls

Tested by 2

remote_repositoryFunction · 0.68
reopenFunction · 0.68