public void Parse(byte[] headerData, int headerOffset) { BasicHeaderSegment _headerSegment = new BasicHeaderSegment(); _headerSegment.ReadFrom(headerData, headerOffset); if (_headerSegment.OpCode != OpCode.LogoutResponse) { throw new InvalidProtocolException("Invalid opcode in response, expected " + OpCode.LogoutResponse + " was " + _headerSegment.OpCode); } Response = (LogoutResponseCode)headerData[headerOffset + 2]; StatusSequenceNumber = Utilities.ToUInt32BigEndian(headerData, headerOffset + 24); ExpectedCommandSequenceNumber = Utilities.ToUInt32BigEndian(headerData, headerOffset + 28); MaxCommandSequenceNumber = Utilities.ToUInt32BigEndian(headerData, headerOffset + 32); Time2Wait = Utilities.ToUInt16BigEndian(headerData, headerOffset + 40); Time2Retain = Utilities.ToUInt16BigEndian(headerData, headerOffset + 42); }
public SmsgLogoutResponse(LogoutResponseCode code) : base(RealmCMD.SMSG_LOGOUT_RESPONSE) { Write((byte)code); }
public LogoutResponse(LogoutResponseCode code) { this.Code = code; }