コード例 #1
0
 internal SequenceContext(SequenceInitPacket initPacket, ISequencePacket[] sequencePackets,
                          byte[] initPacketBuffer, List <byte[]> sequencePacketBuffers)
 {
     InitPacket            = initPacket;
     SequencePackets       = sequencePackets;
     InitPacketBuffer      = initPacketBuffer;
     SequencePacketBuffers = sequencePacketBuffers;
 }
コード例 #2
0
ファイル: Peer.cs プロジェクト: lidd1224856175/uNet2
        private void HandleSequenceInitPacket(SequenceInitPacket packet)
        {
            var seqSession = new SequenceSession(packet);

            if (packet.IsOperation)
            {
                seqSession.IsOperation   = true;
                seqSession.OperationGuid = packet.OperationGuid;
            }
            lock (_lockObj)
                _activeSequenceSessions.Add(packet.SequenceGuid, seqSession);
        }
コード例 #3
0
        //TODO: optimize this
        public ISequencePacket[] CreateSequence(IDataPacket packet, byte[] completeBuff, int buffSize,
                                                out SequenceInitPacket initPacket, out Guid seqGuid)
        {
            //  if (!IsSequenceRequired(buffSize, completeBuff.Length))
            //TODO: do proper shit..
            // throw new Exception();

            var modRest    = completeBuff.Length % (buffSize - 33);
            var outList    = CreateSequence(completeBuff, buffSize - 33, modRest, completeBuff.Length).ToArray();
            var curSeqGuid = seqGuid = SocketIdentity.GenerateGuid();

            initPacket = new SequenceInitPacket
            {
                PartsCount       = outList.Length,
                SequenceGuid     = seqGuid,
                FullSequenceSize = completeBuff.Length
            };
            for (var i = 0; i < outList.Length; i++)
            {
                outList[i].SeqGuid = curSeqGuid;
            }
            return(outList.ToArray());
        }
コード例 #4
0
 private void HandleSequenceInitPacket(SequenceInitPacket packet)
 {
     _activeSequenceSessions.Add(packet.SequenceGuid, new List <ISequencePacket>());
 }
コード例 #5
0
 public SequenceSession(SequenceInitPacket initPacket)
 {
     InitPacket   = initPacket;
     Sequence     = new List <ISequencePacket>();
     SessionStart = DateTime.Now;
 }