Skip to content

Commit 708da91

Browse files
authored
Merge pull request #75 from rsocket/remove_socket_from_handler
remove RequestHandler dependency on Rsocket base class as argument.
2 parents a1d1a50 + f90b49d commit 708da91

25 files changed

+105
-129
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ v0.4.3
88
- Added on_ready callback to RSocketServer. Called when sender/receiver tasks are ready
99
- Implement ReactiveX (3.0, 4.0) server side handler. Allows to define RequestHandler directly using ReactiveX
1010
- Added sending_done_event argument to request_channel to allow client to wait until sending to server is complete/canceled
11+
- Breaking Change: Removed RSocketBase class dependency from RequestHandler. It is not longer required as an argument to __init__
1112

1213
v0.4.2
1314
======

examples/server_with_fragmenting.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ async def authenticator(route: str, authentication: Authentication):
9898
raise Exception('Unsupported authentication')
9999

100100

101-
def handler_factory(socket):
102-
return RoutingRequestHandler(socket, router, authenticator)
101+
def handler_factory():
102+
return RoutingRequestHandler(router, authenticator)
103103

104104

105105
def handle_client(reader, writer):

examples/server_with_lease.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ async def single_request_response(payload, composite_metadata):
2020
return create_future(Payload(b'single_response'))
2121

2222

23-
def handler_factory(socket):
24-
return RoutingRequestHandler(socket, router)
23+
def handler_factory():
24+
return RoutingRequestHandler(router)
2525

2626

2727
def handle_client(reader, writer):

examples/server_with_routing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ async def authenticator(route: str, authentication: Authentication):
103103
raise Exception('Unsupported authentication')
104104

105105

106-
def handler_factory(socket):
107-
return RoutingRequestHandler(socket, router, authenticator)
106+
def handler_factory():
107+
return RoutingRequestHandler(router, authenticator)
108108

109109

110110
def handle_client(reader, writer):

examples/test_examples.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_quic_client_server(unused_tcp_port):
3636

3737
@pytest.mark.timeout(30)
3838
def test_client_server_with_routing(unused_tcp_port):
39-
pid = os.spawnlp(os.P_NOWAIT, 'python3', 'python3', './server_with_routing.py', str(unused_tcp_port))
39+
pid = os.spawnlp(os.P_NOWAIT, 'python3', 'python3', './server_with_routing.py', '--port', str(unused_tcp_port))
4040

4141
try:
4242
sleep(2)
@@ -64,7 +64,7 @@ def test_client_java_server_with_routing_and_fragmentation(unused_tcp_port):
6464

6565
@pytest.mark.timeout(30)
6666
def test_rx_client_server_with_routing(unused_tcp_port):
67-
pid = os.spawnlp(os.P_NOWAIT, 'python3', 'python3', './server_with_routing.py', str(unused_tcp_port))
67+
pid = os.spawnlp(os.P_NOWAIT, 'python3', 'python3', './server_with_routing.py', '--port', str(unused_tcp_port))
6868

6969
try:
7070
sleep(2)
@@ -136,7 +136,7 @@ def run_java_class(java_class: str, unused_tcp_port: int):
136136

137137

138138
def test_java_client_server(unused_tcp_port):
139-
pid = os.spawnlp(os.P_NOWAIT, 'python3', 'python3', './server_with_routing.py', str(unused_tcp_port))
139+
pid = os.spawnlp(os.P_NOWAIT, 'python3', 'python3', './server_with_routing.py', '--port', str(unused_tcp_port))
140140

141141
try:
142142
sleep(2)

performance/performance_server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ async def authenticator(route: str, authentication: Authentication):
9696
raise Exception('Unsupported authentication')
9797

9898

99-
def handler_factory(socket):
100-
return RoutingRequestHandler(socket, router, authenticator)
99+
def handler_factory():
100+
return RoutingRequestHandler(router, authenticator)
101101

102102

103103
def client_handler_factory(on_ready=None):

rsocket/reactivex/reactivex_handler.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,9 @@
1010
from rsocket.logger import logger
1111
from rsocket.payload import Payload
1212
from rsocket.reactivex.reactivex_channel import ReactivexChannel
13-
from rsocket.rsocket import RSocket
1413

1514

1615
class ReactivexHandler:
17-
def __init__(self, socket: RSocket):
18-
super().__init__()
19-
self.socket = socket
2016

2117
@abstractmethod
2218
async def on_setup(self,

rsocket/reactivex/reactivex_handler_adapter.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,18 @@
1212
from rsocket.reactivex.from_rsocket_publisher import RxSubscriberFromObserver
1313
from rsocket.reactivex.reactivex_handler import ReactivexHandler
1414
from rsocket.request_handler import RequestHandler
15-
from rsocket.rsocket import RSocket
1615

1716

18-
def reactivex_handler_factory(handler_factory: Callable[[RSocket], ReactivexHandler]):
19-
def create_handler(socket: RSocket):
20-
return ReactivexHandlerAdapter(handler_factory(socket), socket)
17+
def reactivex_handler_factory(handler_factory: Callable[[], ReactivexHandler]):
18+
def create_handler():
19+
return ReactivexHandlerAdapter(handler_factory())
2120

2221
return create_handler
2322

2423

2524
class ReactivexHandlerAdapter(RequestHandler):
2625

27-
def __init__(self, delegate: ReactivexHandler, socket: RSocket):
28-
super().__init__(socket)
26+
def __init__(self, delegate: ReactivexHandler):
2927
self.delegate = delegate
3028

3129
async def on_setup(self, data_encoding: bytes, metadata_encoding: bytes, payload: Payload):

rsocket/request_handler.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515

1616
class RequestHandler(metaclass=ABCMeta):
1717

18-
def __init__(self, socket):
19-
super().__init__()
20-
self.socket = socket
21-
2218
@abstractmethod
2319
async def on_setup(self,
2420
data_encoding: bytes,

rsocket/routing/routing_request_handler.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,10 @@ class RoutingRequestHandler(BaseRequestHandler):
2828
)
2929

3030
def __init__(self,
31-
socket,
3231
router: RequestRouter,
3332
authentication_verifier: Optional[
3433
Callable[[str, Authentication], Coroutine[None, None, None]]] = None):
35-
super().__init__(socket)
34+
super().__init__()
3635
self.router = router
3736
self.authentication_verifier = authentication_verifier
3837
self.data_encoding = None

0 commit comments

Comments
 (0)