diff --git a/src/Quasar/Network.hs b/src/Quasar/Network.hs index 3f938a79f1518b590c919b3b75db1d3f3f568c46..8af66cb6e6954e726235183da1ed9e228b5bc8db 100644 --- a/src/Quasar/Network.hs +++ b/src/Quasar/Network.hs @@ -456,9 +456,6 @@ serverHandleChannelMessage protocolImpl channel resources msg = case decodeOrFai wrappedResponse :: ProtocolResponseWrapper p wrappedResponse = (resources.messageId, response) -registerChannelServerHandler :: forall p. (RpcProtocol p, HasProtocolImpl p) => ProtocolImpl p -> Channel -> IO () -registerChannelServerHandler protocolImpl channel = channelSetHandler channel (serverHandleChannelMessage @p protocolImpl channel) - newtype Stream up down = Stream Channel @@ -613,7 +610,10 @@ connectToServer server conn = void $ forkFinally (interruptible (runServerHandle -- | Internal runServerHandler :: forall p a. (RpcProtocol p, HasProtocolImpl p, IsConnection a) => ProtocolImpl p -> a -> IO () -runServerHandler protocolImpl = runMultiplexer MultiplexerSideB (registerChannelServerHandler @p protocolImpl) . toSocketConnection +runServerHandler protocolImpl = runMultiplexer MultiplexerSideB registerChannelServerHandler . toSocketConnection + where + registerChannelServerHandler :: Channel -> IO () + registerChannelServerHandler channel = channelSetHandler channel (serverHandleChannelMessage @p protocolImpl channel) withLocalClient :: forall p a. (RpcProtocol p, HasProtocolImpl p) => Server p -> ((Client p) -> IO a) -> IO a