public Task Send(IPacketV2 <IPayload> packet, CancellationToken cancel) { Interlocked.Increment(ref _txPackets); var buffer = new byte[packet.GetMaxByteSize()]; var size = packet.Serialize(buffer, 0); return(DataStream.Send(buffer, size, cancel)); }
public Task Send(IPacketV2 <IPayload> packet, CancellationToken cancel) { if (_disposed != 0) { return(Task.CompletedTask); } Interlocked.Increment(ref _txPackets); var buffer = new byte[packet.GetMaxByteSize()]; var size = packet.Serialize(buffer, 0); _sendPacketSubject.OnNext(packet); return(DataStream.Send(buffer, size, cancel)); }