private void PushRecvBuff(TCP tcp) { //Log_Error("Fake TCP Packet Pushed"); _recvBuff.Enqueue(tcp); }
//CheckNumbers //PerformCloseByPS2 //PerformCloseByRemote private TCP CreateBasePacket(byte[] data = null) { Log_Verb("Creating Base Packet"); if (data == null) { data = new byte[0]; } TCP ret = new TCP(data); //and now to setup THE ENTIRE THING ret.SourcePort = destPort; ret.DestinationPort = srcPort; ret.SequenceNumber = GetMyNumber(); Log_Verb("With MySeq: " + ret.SequenceNumber); ret.AcknowledgementNumber = expectedSeqNumber; Log_Verb("With MyAck: " + ret.AcknowledgementNumber); //ret.WindowSize = 16 * 1024; ret.WindowSize = (UInt16)(2 * maxSegmentSize); //default 2920B (2.85KB) if (sendTimeStamps) { ret.Options.Add(new TCPopNOP()); ret.Options.Add(new TCPopNOP()); ret.Options.Add(new TCPopTS((UInt32)timeStamp.Elapsed.TotalSeconds, lastRecivedTimeStamp)); } return ret; }