示例#1
0
        internal void LockedPushTsmtBuffer(Packet packet)
        {
            DebugStub.Assert(packet.FragmentCount == 1);
            DebugStub.Assert(!txRingBuffer.IsFull);

            this._LockedPushTsmtBuffer(packet);

            PacketFifo liveFifo = this.txPacketsInDevice.Acquire();

            liveFifo.Push(packet);
            txPacketsInDevice.Release(liveFifo);
        }
        internal void LockedPushRecvBuffer(Packet packet)
        {
            DebugStub.Assert(packet.FragmentCount == 1);
            DebugStub.Assert(!rxRingBuffer.IsFull);

            int length = packet.GetFragmentLength(0);

            this.LockedPushRecvBuffer(length);
            PacketFifo liveFifo = this.rxPacketsInDevice.Acquire();

            liveFifo.Push(packet);
            rxPacketsInDevice.Release(liveFifo);
        }