public byte[] GetBytes(LogoutReason reason) { BasicHeaderSegment _basicHeader = new BasicHeaderSegment(); _basicHeader.Immediate = true; _basicHeader.OpCode = OpCode.LogoutRequest; _basicHeader.FinalPdu = true; _basicHeader.TotalAhsLength = 0; _basicHeader.DataSegmentLength = 0; _basicHeader.InitiatorTaskTag = _connection.Session.CurrentTaskTag; byte[] buffer = new byte[Utilities.RoundUp(48, 4)]; _basicHeader.WriteTo(buffer, 0); buffer[1] |= (byte)((byte)reason & 0x7F); Utilities.WriteBytesBigEndian(_connection.Id, buffer, 20); Utilities.WriteBytesBigEndian(_connection.Session.CommandSequenceNumber, buffer, 24); Utilities.WriteBytesBigEndian(_connection.ExpectedStatusSequenceNumber, buffer, 28); return buffer; }
public byte[] GetBytes(LogoutReason reason) { BasicHeaderSegment _basicHeader = new BasicHeaderSegment(); _basicHeader.Immediate = true; _basicHeader.OpCode = OpCode.LogoutRequest; _basicHeader.FinalPdu = true; _basicHeader.TotalAhsLength = 0; _basicHeader.DataSegmentLength = 0; _basicHeader.InitiatorTaskTag = _connection.Session.CurrentTaskTag; byte[] buffer = new byte[Utilities.RoundUp(48, 4)]; _basicHeader.WriteTo(buffer, 0); buffer[1] |= (byte)((byte)reason & 0x7F); Utilities.WriteBytesBigEndian(_connection.Id, buffer, 20); Utilities.WriteBytesBigEndian(_connection.Session.CommandSequenceNumber, buffer, 24); Utilities.WriteBytesBigEndian(_connection.ExpectedStatusSequenceNumber, buffer, 28); return(buffer); }