public void SetUp() { context = new Context(); registry = new HandlerRegistrySimulator(context); broker = new Broker(); sender = new MessageUnit(new EndpointConfiguration().Endpoint(SenderEndpointName).Concurrency(1)) .Use(new AlwaysRouteToDestination(Queue.Create(ReceiverEndpointName))) .Use(registry); receiver = new MessageUnit(new EndpointConfiguration().Endpoint(ReceiverEndpointName).Concurrency(1)) .Use(new AlwaysRouteToDestination(Queue.Create(SenderEndpointName))) .Use(registry); broker.Register(sender) .Register(receiver); broker.Start(); }
private static IPMode SendingOrReceivingPMode( MessageUnit mu, SendingProcessingMode sendPMode, ReceivingProcessingMode receivePMode) { if (sendPMode?.Id != null) { Logger.Trace($"Use already set SendingPMode {sendPMode.Id} for inserting OutMessage"); return(sendPMode); } if (mu is SignalMessage && receivePMode != null) { Logger.Trace($"Use ReceivingPMode {receivePMode.Id} to insert with the OutMessage"); return(receivePMode); } Logger.Warn("No SendingPMode or ReceivingPMode was found to insert with the OutMessage"); return(null); }
/// <summary> /// Assigns the parent properties. /// </summary> /// <param name="messageUnit">The MessageUnit from which the properties must be retrieved..</param> public void AssignAS4Properties(MessageUnit messageUnit) { if (messageUnit is UserMessage userMessage) { FromParty = userMessage.Sender.PartyIds.First().Id; ToParty = userMessage.Receiver.PartyIds.First().Id; Action = userMessage.CollaborationInfo.Action; Service = userMessage.CollaborationInfo.Service.Value; ConversationId = userMessage.CollaborationInfo.ConversationId; Mpc = userMessage.Mpc; IsTest = userMessage.IsTest; IsDuplicate = userMessage.IsDuplicate; SoapEnvelope = AS4XmlSerializer.ToString(UserMessageMap.Convert(userMessage)); } else { if (messageUnit is SignalMessage signalMessage) { IsDuplicate = signalMessage.IsDuplicate; Mpc = signalMessage.MultiHopRouting.Select(r => r.mpc).GetOrElse(Constants.Namespaces.EbmsDefaultMpc); } } }
public void SetUp() { context = new Context(); registry = new HandlerRegistrySimulator(context); router = new Router(); broker = new Broker(); sender = new MessageUnit(new EndpointConfiguration().Endpoint("Sender").Concurrency(1)) .Use(router); receiverOne = new MessageUnit(new EndpointConfiguration().Endpoint(ReceiverOneEndpointName) .Concurrency(1)).Use(registry); receiverTwo = new MessageUnit(new EndpointConfiguration().Endpoint(ReceiverTwoEndpointName) .Concurrency(1)).Use(registry); receiverThree = new MessageUnit(new EndpointConfiguration().Endpoint(ReceiverThreeEndpointName) .Concurrency(1)).Use(registry); broker.Register(sender) .Register(receiverOne) .Register(receiverTwo) .Register(receiverThree); broker.Start(); }
/// <summary> /// MessageReceived event to keep in track of every interaction among constituents in SoS /// </summary> /// <param name="from">A reference object to the sender of the message</param> /// <param name="target">A reference type to the receiver of the message</param> /// <param name="msgText"></param> /// <param name="info"></param> protected override void OnMessageReceived(object from, Type target, string msgText, params object[] info) { MessageUnit entry; entry = new MessageUnit(); // Create MessageUnit using the received message entry.From = from.GetType().Name.ToString(); entry.To = target.Name.ToString(); entry.Message = msgText.ToString(); entry.Cycle = this.Cycle; entry.Parameter = info; // Add current message to the simulation log _simLog.Add(entry); // update visual text if (OnTextUpdate != null) { // Format message as follows: // (SenderAgent->ReceiverAgent).MessageText OnTextUpdate(entry.ToString()); } }
public MessageTreeNode(MessageUnit msg) : base(ComputeLabel(msg.KeyOid)) { this.msg = msg; }
private InMessageBuilder(MessageUnit messageUnit, string contentType, MessageExchangePattern mep) { _messageUnit = messageUnit; _contentType = contentType; _mep = mep; }
private void InsertDuplicateUserMessage(MessageUnit userMessage) { GetDataStoreContext.InsertInMessage(new InMessage(ebmsMessageId: userMessage.MessageId)); }
private OutMessageBuilder(MessageUnit messageUnit, string contentType, IPMode pmode) { _messageUnit = messageUnit; _contentType = contentType; _pmode = pmode; }