public bool ProcessResponseWaitPacket(Packet packet)
{
lock (_listTCS)
{
foreach (TCSData data in _listTCS)
{
if (data.packetId == packet.PacketId
&& (data.predicate == null || data.predicate(packet) == true))
{
data.tcs.SetResult(new Packet(packet));
_listTCS.Remove(data);
return true;
}
}
}
return false;
}