def get_stream(self, *packets): if self.param == 'BufferedStream': return MyBufferedStream(*packets) elif self.param == 'BufferedSocket': sock = FakeSocket(*packets) return BufferedSocket(sock) assert False
def test_socket(self): from capnpy.buffered import BufferedSocket def chunks(buf, n): for i in range(0, len(buf), n): yield buf[i:i+n] # now simulate closed socket while True: yield '' class FakeSocket(object): def __init__(self, buf): # yield packets 7 bytes at a time (to excercise BufferedSocket # corner cases) self._chunks = chunks(buf, 7) def recv(self, size): return next(self._chunks) sock = FakeSocket(self.buf) buffered_sock = BufferedSocket(sock) self.check(buffered_sock)
def open_connection(): sock = socket.create_connection((host, port)) if schema.__name__ == 'Capnpy': sock = BufferedSocket(sock) return sock
def test_write(self): if self.param != 'BufferedSocket': return sock = FakeSocket() bufsock = BufferedSocket(sock) bufsock.write('hello ') bufsock.write('world') assert sock.received == '' bufsock.flush() assert sock.received == 'hello world' bufsock.write(' foobar') assert sock.received == 'hello world' bufsock.flush() assert sock.received == 'hello world foobar'
def open_connection(): host, port = server.host, server.port sock = socket.create_connection((host, port)) return BufferedSocket(sock)