Beispiel #1
0
 protected override List <Packet> ProcessJoinRequestPacket(JoinRequestPacket packet)
 {
     if (packet.MulticastGroup == SubscribedGroup)
     {
         JoinReplyPacket newPacket = new JoinReplyPacket(Address * 10000 + SequenceNumber++, SubscribedGroup, packet.Source, packet.PreviousHop, Address);
         return(SendPacket(newPacket));
     }
     else
     {
         return(null);
     }
 }
Beispiel #2
0
 protected virtual List <Packet> ProcessJoinReplyPacket(JoinReplyPacket packet)
 {
     if (packet.NextHop == Address)
     {
         RoutingTable.Find(x => x.MulticastGroup == packet.MulticastGroup).ResetExpiration();
         packet.PreviousHop = Address;
         packet.NextHop     = RoutingTable.Find(x => x.MulticastGroup == packet.MulticastGroup).NextHop;
         return(SendPacket(packet));
     }
     else
     {
         return(null);
     }
 }
 static JoinReplyPacket CloneJoinReplyPacket(JoinReplyPacket packet)
 {
     return(new JoinReplyPacket(packet.SequenceNumber, packet.MulticastGroup, packet.Source, packet.NextHop, packet.PreviousHop));
 }
Beispiel #4
0
 protected override List <Packet> ProcessJoinReplyPacket(JoinReplyPacket packet)
 {
     return(null);
 }