@@ -215,9 +215,8 @@ def __init__(self, host, port, afi, **configs):
215
215
self .host = host
216
216
self .port = port
217
217
self .afi = afi
218
- self ._sock_ip = host
219
- self ._sock_port = port
220
218
self ._sock_afi = afi
219
+ self ._sock_addr = None
221
220
self .in_flight_requests = collections .deque ()
222
221
self ._api_versions = None
223
222
@@ -279,13 +278,12 @@ def _dns_lookup(self):
279
278
return False
280
279
return True
281
280
282
- def _next_afi_host_port (self ):
281
+ def _next_afi_sockaddr (self ):
283
282
if not self ._gai :
284
283
if not self ._dns_lookup ():
285
284
return
286
285
afi , _ , __ , ___ , sockaddr = self ._gai .pop (0 )
287
- host , port = sockaddr [:2 ]
288
- return (afi , host , port )
286
+ return (afi , sockaddr )
289
287
290
288
def connect_blocking (self , timeout = float ('inf' )):
291
289
if self .connected ():
@@ -327,13 +325,13 @@ def connect(self):
327
325
"""Attempt to connect and return ConnectionState"""
328
326
if self .state is ConnectionStates .DISCONNECTED and not self .blacked_out ():
329
327
self .last_attempt = time .time ()
330
- next_lookup = self ._next_afi_host_port ()
328
+ next_lookup = self ._next_afi_sockaddr ()
331
329
if not next_lookup :
332
330
self .close (Errors .ConnectionError ('DNS failure' ))
333
331
return
334
332
else :
335
333
log .debug ('%s: creating new socket' , self )
336
- self ._sock_afi , self ._sock_ip , self . _sock_port = next_lookup
334
+ self ._sock_afi , self ._sock_addr = next_lookup
337
335
self ._sock = socket .socket (self ._sock_afi , socket .SOCK_STREAM )
338
336
339
337
for option in self .config ['socket_options' ]:
@@ -348,17 +346,16 @@ def connect(self):
348
346
# so we need to double check that we are still connecting before
349
347
if self .connecting ():
350
348
self .config ['state_change_callback' ](self )
351
- log .info ('%s: connecting to %s:%d [%s:%d %s]' , self , self .host ,
352
- self .port , self ._sock_ip , self ._sock_port ,
353
- AFI_NAMES [self ._sock_afi ])
349
+ log .info ('%s: connecting to %s:%d [%s %s]' , self , self .host ,
350
+ self .port , self ._sock_addr , AFI_NAMES [self ._sock_afi ])
354
351
355
352
if self .state is ConnectionStates .CONNECTING :
356
353
# in non-blocking mode, use repeated calls to socket.connect_ex
357
354
# to check connection status
358
355
request_timeout = self .config ['request_timeout_ms' ] / 1000.0
359
356
ret = None
360
357
try :
361
- ret = self ._sock .connect_ex (( self ._sock_ip , self . _sock_port ) )
358
+ ret = self ._sock .connect_ex (self ._sock_addr )
362
359
except socket .error as err :
363
360
ret = err .errno
364
361
@@ -999,9 +996,9 @@ def check_version(self, timeout=2, strict=False):
999
996
return version
1000
997
1001
998
def __str__ (self ):
1002
- return "<BrokerConnection node_id=%s host=%s:%d %s [%s:%d %s]>" % (
999
+ return "<BrokerConnection node_id=%s host=%s:%d %s [%s %s]>" % (
1003
1000
self .node_id , self .host , self .port , self .state ,
1004
- self . _sock_ip , self . _sock_port , AFI_NAMES [self ._sock_afi ])
1001
+ AFI_NAMES [self ._sock_afi ], self . _sock_addr )
1005
1002
1006
1003
1007
1004
class BrokerConnectionMetrics (object ):
0 commit comments