summaryrefslogtreecommitdiff
path: root/src/server/rz_kernel.py
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-04-09 00:51:49 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-09 02:03:45 +0300
commit5b92a082f715c1792dff7b09b5a3360cd3309452 (patch)
treee92091bf397f6223f8486ea52f76bb1127692a50 /src/server/rz_kernel.py
parent2cdb67c51ec2f71955321fd14065693d9609445d (diff)
rz_kernel: RZDoc_Reader_Association
Diffstat (limited to 'src/server/rz_kernel.py')
-rw-r--r--src/server/rz_kernel.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py
index e5d86f41..ddece741 100644
--- a/src/server/rz_kernel.py
+++ b/src/server/rz_kernel.py
@@ -27,6 +27,28 @@ class RZDoc_Exception__already_exists(Exception):
def __init__(self, rzdoc_name):
super(RZDoc_Exception__already_exists, self).__init__('rzdoc already exists: \'%s\'' % (rzdoc_name))
+class RZDoc_Reader_Association:
+ """
+ RZDoc reader association used to map rzdoc's to update subscribing readers.
+
+ Note: the term reader is used to represent a party performing R/W operations
+ """
+
+ def __init__(self):
+ self.remote_socket_addr = None # (addr, port)
+ self.rzdoc = None
+ self.socket = None
+ self.err_count__IO = 0 # allow n IO errors before disconnecting reader
+ self.mark__expired = False
+
+ def __eq__(self, other):
+ if not isinstance(other, RZDoc_Reader_Association): return False
+
+ return self.socket == other.socket
+
+ def __str__(self):
+ return '%s: remote addr: %s:%s' % (self.rzdoc, self.remote_socket_addr[0], self.remote_socket_addr[1])
+
class RZ_Kernel(object):
def __init__(self):