Skip to content

Commit 7edaed3

Browse files
committed
Cache socket port number in bolt class
1 parent 5f81482 commit 7edaed3

File tree

10 files changed

+10
-54
lines changed

10 files changed

+10
-54
lines changed

neo4j/_async/io/_bolt.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ def __init__(self, unresolved_address, sock, max_connection_lifetime, *,
100100
auth=None, user_agent=None, routing_context=None):
101101
self.unresolved_address = unresolved_address
102102
self.socket = sock
103+
self.local_port = self.socket.getsockname()[1]
104+
assert self.local_port # TODO: remove, just for testing
103105
self.server_info = ServerInfo(Address(sock.getpeername()),
104106
self.PROTOCOL_VERSION)
105107
# so far `connection.recv_timeout_seconds` is the only available
@@ -379,11 +381,6 @@ def encrypted(self):
379381
def der_encoded_server_certificate(self):
380382
pass
381383

382-
@property
383-
@abc.abstractmethod
384-
def local_port(self):
385-
pass
386-
387384
@abc.abstractmethod
388385
async def hello(self):
389386
""" Appends a HELLO message to the outgoing queue, sends it and consumes

neo4j/_async/io/_bolt3.py

-7
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,6 @@ def encrypted(self):
137137
def der_encoded_server_certificate(self):
138138
return self.socket.getpeercert(binary_form=True)
139139

140-
@property
141-
def local_port(self):
142-
try:
143-
return self.socket.getsockname()[1]
144-
except OSError:
145-
return 0
146-
147140
def get_base_headers(self):
148141
return {
149142
"user_agent": self.user_agent,

neo4j/_async/io/_bolt4.py

-7
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,6 @@ def encrypted(self):
9090
def der_encoded_server_certificate(self):
9191
return self.socket.getpeercert(binary_form=True)
9292

93-
@property
94-
def local_port(self):
95-
try:
96-
return self.socket.getsockname()[1]
97-
except OSError:
98-
return 0
99-
10093
def get_base_headers(self):
10194
return {
10295
"user_agent": self.user_agent,

neo4j/_async/io/_bolt5.py

-7
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,6 @@ def encrypted(self):
8989
def der_encoded_server_certificate(self):
9090
return self.socket.getpeercert(binary_form=True)
9191

92-
@property
93-
def local_port(self):
94-
try:
95-
return self.socket.getsockname()[1]
96-
except OSError:
97-
return 0
98-
9992
def get_base_headers(self):
10093
headers = {"user_agent": self.user_agent}
10194
if self.routing_context is not None:

neo4j/_async/io/_common.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ class AsyncMessageInbox:
4242

4343
def __init__(self, s, on_error):
4444
self.on_error = on_error
45+
self._local_port = s.getsockname()[1]
46+
assert self._local_port # TODO: remove, just for testing
4547
self._messages = self._yield_messages(s)
4648

4749
async def _yield_messages(self, sock):
@@ -56,7 +58,7 @@ async def _yield_messages(self, sock):
5658
await receive_into_buffer(sock, buffer, 2)
5759
chunk_size = buffer.pop_u16()
5860
if chunk_size == 0:
59-
log.debug("[#%04X] S: <NOOP>", sock.getsockname()[1])
61+
log.debug("[#%04X] S: <NOOP>", self._local_port)
6062

6163
await receive_into_buffer(sock, buffer, chunk_size + 2)
6264
chunk_size = buffer.pop_u16()

neo4j/_sync/io/_bolt.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ def __init__(self, unresolved_address, sock, max_connection_lifetime, *,
100100
auth=None, user_agent=None, routing_context=None):
101101
self.unresolved_address = unresolved_address
102102
self.socket = sock
103+
self.local_port = self.socket.getsockname()[1]
104+
assert self.local_port # TODO: remove, just for testing
103105
self.server_info = ServerInfo(Address(sock.getpeername()),
104106
self.PROTOCOL_VERSION)
105107
# so far `connection.recv_timeout_seconds` is the only available
@@ -379,11 +381,6 @@ def encrypted(self):
379381
def der_encoded_server_certificate(self):
380382
pass
381383

382-
@property
383-
@abc.abstractmethod
384-
def local_port(self):
385-
pass
386-
387384
@abc.abstractmethod
388385
def hello(self):
389386
""" Appends a HELLO message to the outgoing queue, sends it and consumes

neo4j/_sync/io/_bolt3.py

-7
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,6 @@ def encrypted(self):
137137
def der_encoded_server_certificate(self):
138138
return self.socket.getpeercert(binary_form=True)
139139

140-
@property
141-
def local_port(self):
142-
try:
143-
return self.socket.getsockname()[1]
144-
except OSError:
145-
return 0
146-
147140
def get_base_headers(self):
148141
return {
149142
"user_agent": self.user_agent,

neo4j/_sync/io/_bolt4.py

-7
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,6 @@ def encrypted(self):
9090
def der_encoded_server_certificate(self):
9191
return self.socket.getpeercert(binary_form=True)
9292

93-
@property
94-
def local_port(self):
95-
try:
96-
return self.socket.getsockname()[1]
97-
except OSError:
98-
return 0
99-
10093
def get_base_headers(self):
10194
return {
10295
"user_agent": self.user_agent,

neo4j/_sync/io/_bolt5.py

-7
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,6 @@ def encrypted(self):
8989
def der_encoded_server_certificate(self):
9090
return self.socket.getpeercert(binary_form=True)
9191

92-
@property
93-
def local_port(self):
94-
try:
95-
return self.socket.getsockname()[1]
96-
except OSError:
97-
return 0
98-
9992
def get_base_headers(self):
10093
headers = {"user_agent": self.user_agent}
10194
if self.routing_context is not None:

neo4j/_sync/io/_common.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ class MessageInbox:
4242

4343
def __init__(self, s, on_error):
4444
self.on_error = on_error
45+
self._local_port = s.getsockname()[1]
46+
assert self._local_port # TODO: remove, just for testing
4547
self._messages = self._yield_messages(s)
4648

4749
def _yield_messages(self, sock):
@@ -56,7 +58,7 @@ def _yield_messages(self, sock):
5658
receive_into_buffer(sock, buffer, 2)
5759
chunk_size = buffer.pop_u16()
5860
if chunk_size == 0:
59-
log.debug("[#%04X] S: <NOOP>", sock.getsockname()[1])
61+
log.debug("[#%04X] S: <NOOP>", self._local_port)
6062

6163
receive_into_buffer(sock, buffer, chunk_size + 2)
6264
chunk_size = buffer.pop_u16()

0 commit comments

Comments
 (0)