Send Pattern - question


#1

I’d like to ask for a clarification about the send pattern.
Is there a time coupling between the Send Client and the Send Server?

I mean, which one is correct?

  1. the Send Client sends the message C1 and immediatly returns to the task, and does not care what the Send Server is doing (C1 request was already handled or not yet)

  2. the Send Client has to wait for the handleSend(),C1 to comlpete (server backward dashed line) before returning (client ‘ok’ backward dashed line)?

Thanks


#2

The send pattern implements the classical fire-and-forget semantics. This means that the patterns ensures that the send message successfully is received by the SendServer, but does not await until the sendHandler is finished. This means, your statement 1. is correct. In case the sendHandler takes some time and a next send message comes in between, then the middleware will buffer some of the messages until the regular TCP stack is full, then the next sender will be blocked until the “backlog” is resolved. If such cases are regular and often, it is better to explicitly make the sendHandler active, which means that it internally will implement and active queue (thus not flooding the middleware stack).


#3

Ok, thanks for you answer ALotz