Exemplo n.º 1
0
        public static EventBuilder Deserialize(byte[] message)
        {
            BitBuffer buffer = new BitBuffer(message);

            int                  seqId            = buffer.readInt(0, Connection.MAX_SEQ_ID);
            bool                 ack              = buffer.readBit();
            EventEnum            eventType        = (EventEnum)buffer.readInt(0, Enum.GetValues(typeof(EventEnum)).Length);
            EventTimeoutTypeEnum eventTimeoutType =
                (EventTimeoutTypeEnum)buffer.readInt(0, Enum.GetValues(typeof(EventTimeoutTypeEnum)).Length);
            EventAction payload = EventAction.ExtractAction(buffer, eventType);

            EventBuilder eventBuilder = new EventBuilder().SetSeqId(seqId)
                                        .SetAck(ack)
                                        .SetEventType(eventType)
                                        .SetTimeoutType(eventTimeoutType)
                                        .SetPayload(payload);

            return(eventBuilder);
        }