public void Ack(pair p) { if (sendChan.tryAck(p.seq)) { uint seq = 0, val = 0; while (sendChan.tryRemoveAcked(ref seq, ref val)) { UdpLog.User("delivered {0} (seq: {1})", val, seq); } } }
public void Nack(pair p) { UdpLog.User("lost {0} (seq: {1})", p.val, p.seq); sendChan.tryNack(p.seq); }
public override bool Unpack(ref UdpBitStream buffer, ref object o) { pair p = new pair(); p.seq = buffer.ReadUInt(32); p.val = buffer.ReadUInt(32); o = p; return true; }
public void Recv(pair p) { recvChan.tryAdd(p.seq, p.val); }