示例#1
0
 //RetransmitPublish->Timer->WriteAndFlush
 public void RetransmitPublish(IEventLoop eventLoop, Func <Packet, Task> sendPacket)
 {
     publishRetransmissionAction.Action = (publishPacket) =>
     {
         return(sendPacket(duplicateRetainPublishPacket(publishPacket)));
     };
     publishRetransmissionAction.Start(eventLoop);
 }
示例#2
0
 public void Retransmit(IEventLoop eventLoop, Func <Packet, Task> sendPacket)
 {
     if (Sent)//If the packet is sent, we can start the retransmit timer
     {
         retransmissionAction.Action = sendPacket;
     }
     retransmissionAction.Start(eventLoop);
 }
示例#3
0
 public void RetransmitPubRel(IEventLoop eventLoop, Func <Packet, Task> sendPacket)
 {
     pubRelRetransmissionAction.Action = sendPacket;
     pubRelRetransmissionAction.Start(eventLoop);
 }