public void TestPeerAdvertisementMessage() { PeerAdvertisementInteractionMessage msg = new PeerAdvertisementInteractionMessage(); msg.UserSuppliedTag = System.Text.UnicodeEncoding.Unicode.GetBytes("Sample user data 2"); msg.PeerName = "A name"; msg.PeerDescription = "Some description"; msg.PeerChannels = new ConnectionList(); msg.PeerChannels.Add("tcp://localhost:7777"); msg.PeerChannels.Add("udp://localhost:1234"); msg.PeerChannels.Add("multi://multi://224.0.0.1:8080"); myListener.LastMessage = null; helper.SendInteraction(msg); if (!(myListener.LastMessage is PeerAdvertisementInteractionMessage)) { throw new Exception("Error reading PeerAdvertisementInteractionMessage"); } else { PeerAdvertisementInteractionMessage msgLast = myListener.LastMessage as PeerAdvertisementInteractionMessage; Assert.AreEqual(msgLast.FederationExecutionHandle, msg.FederationExecutionHandle); Assert.AreEqual(msgLast.InteractionClassHandle, msg.InteractionClassHandle); Assert.AreEqual(msgLast.UserSuppliedTag, msg.UserSuppliedTag); Assert.AreEqual(msgLast.PeerName, msg.PeerName); Assert.AreEqual(msgLast.PeerDescription, msg.PeerDescription); Assert.AreEqual(msgLast.PeerChannels.Count, msg.PeerChannels.Count); for (int i = 0; i < msgLast.PeerChannels.Count; i++) { Assert.AreEqual(msgLast.PeerChannels[i], msg.PeerChannels[i]); } } }
public void OnReceivePeerAdvertisementInteraction(PeerAdvertisementInteractionMessage msg) { message = msg; if (log.IsDebugEnabled) { log.Debug("Received LastMessage = " + msg.ToString()); } }
public void OnReceivePeerAdvertisementInteraction(PeerAdvertisementInteractionMessage msg) { message = msg; if (log.IsDebugEnabled) log.Debug("Received LastMessage = " + msg.ToString()); }
public void TestPeerAdvertisementMessage() { PeerAdvertisementInteractionMessage msg = new PeerAdvertisementInteractionMessage(); msg.UserSuppliedTag = System.Text.UnicodeEncoding.Unicode.GetBytes("Sample user data 2"); msg.PeerName = "A name"; msg.PeerDescription = "Some description"; msg.PeerChannels = new ConnectionList(); msg.PeerChannels.Add("tcp://localhost:7777"); msg.PeerChannels.Add("udp://localhost:1234"); msg.PeerChannels.Add("multi://multi://224.0.0.1:8080"); myListener.LastMessage = null; helper.SendInteraction(msg); if (!(myListener.LastMessage is PeerAdvertisementInteractionMessage)) { throw new Exception("Error reading PeerAdvertisementInteractionMessage"); } else { PeerAdvertisementInteractionMessage msgLast = myListener.LastMessage as PeerAdvertisementInteractionMessage; Assert.AreEqual(msgLast.FederationExecutionHandle, msg.FederationExecutionHandle); Assert.AreEqual(msgLast.InteractionClassHandle, msg.InteractionClassHandle); Assert.AreEqual(msgLast.UserSuppliedTag, msg.UserSuppliedTag); Assert.AreEqual(msgLast.PeerName, msg.PeerName); Assert.AreEqual(msgLast.PeerDescription, msg.PeerDescription); Assert.AreEqual(msgLast.PeerChannels.Count, msg.PeerChannels.Count); for (int i = 0; i < msgLast.PeerChannels.Count; i++) Assert.AreEqual(msgLast.PeerChannels[i], msg.PeerChannels[i]); } }
/// <summary> /// Notifies that there is a new channel available /// </summary> public void OnChannelAvailable(IMessageChannel ch) { PeerAdvertisementInteractionMessage msg = new PeerAdvertisementInteractionMessage(); msg.InteractionClassHandle = SerializerManager.GetHandle(typeof(PeerAdvertisementInteractionMessage)); msg.PeerName = PeerName; msg.PeerDescription = PeerDescription; msg.PeerChannels = new ConnectionList(); foreach (MessageChannelAcceptor channel in channelManager.ChannelAcceptorsList) { msg.PeerChannels.Add(channel.Uri); } IList<IMessageChannel> list = channelManager.ChannelsList(ChannelType.MULTICAST); if (list != null) foreach (IMessageChannel channel in list) { msg.PeerChannels.Add(channel.Uri); } if (ch is TCPMessageChannel) { if (log.IsDebugEnabled) log.Debug("New Channel detected. Sending a PeerAdvertisement message"); SendRealiableInteraction(ch as StreamMessageChannel, msg); } else if (ch is MulticastMessageChannel) { if (log.IsDebugEnabled) log.Debug("New Channel detected. Sending a PeerAdvertisement message"); SendBestEffortInteraction(ch as DGramMessageChannel, msg); } }