@@ -95,8 +95,9 @@ def __repr__(self):
9595
9696class StreamWriter :
9797
98- def __init__ (self , s ):
98+ def __init__ (self , s , extra ):
9999 self .s = s
100+ self .extra = extra
100101
101102 def awrite (self , buf ):
102103 # This method is called awrite (async write) to not proliferate
@@ -130,6 +131,9 @@ def aclose(self):
130131 yield IOWriteDone (self .s )
131132 self .s .close ()
132133
134+ def get_extra_info (self , name , default = None ):
135+ return self .extra .get (name , default )
136+
133137 def __repr__ (self ):
134138 return "<StreamWriter %r>" % self .s
135139
@@ -153,7 +157,7 @@ def open_connection(host, port):
153157 assert s2 .fileno () == s .fileno ()
154158 if __debug__ :
155159 log .debug ("open_connection: After iowait: %s" , s )
156- return StreamReader (s ), StreamWriter (s )
160+ return StreamReader (s ), StreamWriter (s , {} )
157161
158162
159163def start_server (client_coro , host , port , backlog = 10 ):
@@ -176,7 +180,8 @@ def start_server(client_coro, host, port, backlog=10):
176180 s2 .setblocking (False )
177181 if __debug__ :
178182 log .debug ("start_server: After accept: %s" , s2 )
179- yield client_coro (StreamReader (s2 ), StreamWriter (s2 ))
183+ extra = {"peername" : client_addr }
184+ yield client_coro (StreamReader (s2 ), StreamWriter (s2 , extra ))
180185
181186
182187import uasyncio .core
0 commit comments