internal SequenceContext(SequenceInitPacket initPacket, ISequencePacket[] sequencePackets, byte[] initPacketBuffer, List <byte[]> sequencePacketBuffers) { InitPacket = initPacket; SequencePackets = sequencePackets; InitPacketBuffer = initPacketBuffer; SequencePacketBuffers = sequencePacketBuffers; }
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); }
//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()); }
private void HandleSequenceInitPacket(SequenceInitPacket packet) { _activeSequenceSessions.Add(packet.SequenceGuid, new List <ISequencePacket>()); }
public SequenceSession(SequenceInitPacket initPacket) { InitPacket = initPacket; Sequence = new List <ISequencePacket>(); SessionStart = DateTime.Now; }