Closed philip-alldredge closed 3 years ago
BlockSender would have some consequences on the sender, it could block the sender iff the communication is synchronous. What could be the corresponding legality rule?
BA has some provisions for synchronous RPC that should be looked here.
Suggestion of blocking the sender is probably a connection property + port property .
@philip-alldredge we discussed this issue today during the meeting. Can you clarify which systems or model of computation you had in mind?
As we discussed, this is tricky issue since it concerns ports, connections, but also communication services
When I originally opened the issue, I was trying to model an application that was using Golang buffered channels to communicate between threads. Such buffered channels will block if the queue is full and I was trying to capture that behavior in the model since that was the intended behavior. None of the existing overflow handling protocols fit the intended behavior.
Overflow_Handling_Protocol only allows
DropOldest
,DropNewest
, andError
. I feel that this is too limiting. There exist systems which use queued port-style communication which will block the sender if a queue is full. I suggest adding aBlockSender
value to allow representing such systems.