private void ProcessPacket(DynamicVCPDU pdu, DynamicVC_TransportType transportType)
{
if (pdu is DataDvcBasePdu)
{
DataDvcBasePdu dataPdu = pdu as DataDvcBasePdu;
if (channelDicbyId.ContainsKey(dataPdu.ChannelId))
{
channelDicbyId[dataPdu.ChannelId].ProcessPacket(dataPdu);
}
}
else
{
if (this.autoCloseChannel && (pdu is CloseDvcPdu))
{
this.CloseChannel(pdu as CloseDvcPdu);
return;
}
lock (unprocessedDVCPacketBuffer)
{
unprocessedDVCPacketBuffer.Add(new UnprocessedDVCPDUInfo(pdu, transportType));
}
}
}