// -----------------------------------------------------------------------
// The following module is the receiver process.
// -----------------------------------------------------------------------

module Receiver(
   event ?receive_message,
   int   ?in_tag,
   event !send_message,
   int   !out_tag)
{
   loop{
      await(receive_message);
      out_tag = in_tag;
      emit(send_message);
   }
}