private void SendAck(ITcpPacket packet, bool firstSend) { StandardAckPacket outPacket = new StandardAckPacket(packet.Sequence); outPacket.ConnectionId = ConnectionId; try { Transport.SendData(outPacket); #if DEBUG Logger.Debug("Sent ack [" + outPacket + "]"); #endif if (firstSend) { PacketCountTransmitAckFirst++; } else { PacketCountTransmitAckResend++; } } catch (Exception e) { Logger.Error("Failed to send ack to peer for packet " + packet.Sequence + " : " + e.Message); } }
public void SendData(ITcpPacket packet) { if (_transportManager.IsActive) { _transportManager.SendData(packet); #if DEBUG Logger.Debug("Sent packet : " + packet); #endif } else { throw new IOException("Transport manager is inactive (has no tunnels), cannot send data."); } }
public int CompareTo(Object obj) { ITcpPacket packet = (ITcpPacket)obj; return(CompareSequences(Sequence, packet.Sequence)); }