Thanks for your reply.
I actually do the following processing, if is there any thing required please mention.
After Readpacket then i do some processing if allow the packet then based on direction i will call either SendPacketToAdapter or SendPacketToMstcp if i drop the packet in my processing then i don’t call these functions then i go to next packet.
On a timer interval i will verify for packet queue if it exceeds 400 then i am calling FlushAdapterPacketQueue method.
Actually what exactly happens after calling SendPacketToAdapter or SendPacketToMstcp it will remove from the adapter queue or not also if i call FlushAdapterPacketQueue which packets will be clear exactly means the packets which are in queue or some other means new packets?
Also the system is having a more load it’s a server having 60-80 clients will connect to it to perform their job.