Lines Matching refs:self
31 def __init__(self, socket):
32 self._socket = socket
33 self._remaining = 0
34 self._atlast = True
35 self._eof = False
37 def __enter__(self):
38 return self
40 def __exit__(self, type, value, tb):
41 self.close()
44 def really_read(self, n):
49 data = self._socket.recv(remaining)
52 self._eof = True
58 def read_header(self):
60 data = self.really_read(4)
61 if self._eof: return
66 self._atlast = (acc & 0x80000000) != 0
67 self._remaining = acc & 0x7fffffff
69 def skip_record(self):
71 if self._remaining > 0: self.really_read(self._remaining)
72 while not self._atlast and not self._eof:
73 self.read_header()
74 if self._remaining > 0: self.really_read(self._remaining)
75 self._atlast = False
77 def read(self, n):
79 while self._eof or self._remaining == 0:
80 if self._eof or self._atlast:
82 self.read_header()
83 amt = min(self._remaining, n)
84 data = self._socket.recv(amt)
85 self._remaining -= len(data)
87 self._eof = True
90 def read_record(self):
93 while not self._atlast or self._remaining > 0:
94 if self._remaining > 0:
95 data = self.really_read(self._remaining)
97 self._remaining -= len(data)
99 self.read_header()
100 if self._eof:
104 def write(self, buffer, last):
111 self._socket.sendall(p.get_buffer())
112 self._socket.sendall(buffer)
114 def end_record(self):
118 self._socket.sendall(p.get_buffer())
120 def close(self):
122 self._socket.close()