public byte[] Serialize() { BitBuffer buffer = new BitBuffer(1024); buffer.writeInt(_seqId, 0, Connection.MAX_SEQ_ID); buffer.writeBit(_ack); buffer.writeInt((int)_eventEnum, 0, Enum.GetValues(typeof(EventEnum)).Length); buffer.writeInt((int)_timeoutTypeEnum, 0, Enum.GetValues(typeof(EventTimeoutTypeEnum)).Length); _payload.Serialize(buffer); buffer.flush(); return(buffer.getBuffer()); }