first attempt at server rule, also implemented consumeRequest of the server part of the Bus interface

This commit is contained in:
Yehowshua Immanuel 2025-04-16 16:55:45 -04:00
parent a58c836981
commit c28425f10c
3 changed files with 62 additions and 18 deletions

View file

@ -102,7 +102,10 @@ interface (BusClient :: # -> *) inFlightTransactions =
-- received from `consumeRequest`, ensuring the response is correctly
-- associated with the original request.
interface (BusServer :: # -> # -> *) inFlightTransactions numClients =
consumeRequest :: ActionValue (TaggedBusRequest inFlightTransactions)
consumeRequest :: ActionValue (
MkClientTagType numClients,
TaggedBusRequest inFlightTransactions
)
submitResponse :: ( MkClientTagType numClients,
TaggedBusResponse inFlightTransactions
) -> Action