MCPcopy Create free account
hub / github.com/dabeaz-course/python-mastery / GenSocket

Class GenSocket

Solutions/8_6/asyncserver.py:32–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30 print('Task done')
31
32class GenSocket:
33 def __init__(self, sock):
34 self.sock = sock
35
36 @coroutine
37 def accept(self):
38 yield 'recv', self.sock
39 client, addr = self.sock.accept()
40 return GenSocket(client), addr
41
42 @coroutine
43 def recv(self, maxsize):
44 yield 'recv', self.sock
45 return self.sock.recv(maxsize)
46
47 @coroutine
48 def send(self, data):
49 yield 'send', self.sock
50 return self.sock.send(data)
51
52 def __getattr__(self, name):
53 return getattr(self.sock, name)
54
55async def tcp_server(address, handler):
56 sock = GenSocket(socket(AF_INET, SOCK_STREAM))

Callers 2

acceptMethod · 0.70
tcp_serverFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected