Skip to content

Commit 2baf559

Browse files
authored
Merge pull request #137 from rsocket/channel_implementation_fix
send first payload to channel subscriber
2 parents 05f0181 + 478139a commit 2baf559

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

rsocket/handlers/request_cahnnel_responder.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from rsocket.frame import Frame, RequestChannelFrame
22
from rsocket.handlers.request_cahnnel_common import RequestChannelCommon
3+
from rsocket.helpers import payload_from_frame
34

45

56
class RequestChannelResponder(RequestChannelCommon):

tests/rsocket/test_request_channel.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Handler(BaseRequestHandler, DefaultPublisherSubscription, DefaultSubscribe
4444
def __init__(self):
4545
super().__init__()
4646
self.received_messages = []
47+
self.channel_request = None
4748

4849
def on_next(self, value, is_complete=False):
4950
self.received_messages.append(value)
@@ -59,6 +60,7 @@ def request(self, n: int):
5960
self._subscriber.on_complete()
6061

6162
async def request_channel(self, payload: Payload) -> Tuple[Optional[Publisher], Optional[Subscriber]]:
63+
self.channel_request = payload
6264
return self, self
6365

6466
handler: Optional[Handler] = None
@@ -75,9 +77,10 @@ def handler_factory():
7577

7678
server.set_handler_using_factory(handler_factory)
7779

78-
received_messages = await AwaitableRSocket(client).request_channel(Payload(), RequesterPublisher())
80+
received_messages = await AwaitableRSocket(client).request_channel(Payload(b'channel request'), RequesterPublisher())
7981

8082
await response_stream_finished.wait()
8183

8284
assert len(received_messages) == 0
8385
assert len(handler.received_messages) == 0
86+
assert handler.channel_request.data == b'channel request'

0 commit comments

Comments
 (0)