ProducerConsumer send release

For an overview of the ProducerConsumer please see: ProducerConsumer: overview.


The function of the send release method in the ProducerConsumer is to send a release message from a consumer to a producer and consists of the following operations:
  • Map the consumer's element and link number to the producer's element and link number
  • Send the release message to the producer
  • Update the slot state within the event overlay to record that a release has been sent

Processing sequence

The sending of a release by the ProducerConsumer task is depicted in the following sequence diagram:


The send release consists of the following steps:
  • Convert the specified link number from absolute to relative
  • Call MapConsumerToProducer() to use the IConnectionMapping class for the active connection to map the consumer element and link number to the producer element and link number
  • Create the ReleaseMsg message object containing the producer element and link numbers, the produced event object to be released, the ID of the producer slot that the event originated from, a boolean indicating whether a confirmation of receipt is required and a boolean indicating whether the event is a roll-back
  • Call TaskManager.QueueMessage() to send the release message to the producer
  • Call EventReleased() on the ProducerConsumerElement to update the slot state within the overlay to record that an event has been released on the specified element and link

Last edited Sep 29, 2012 at 11:47 AM by jaorme, version 3


No comments yet.