/// <summary> /// Reads and constructs a NGRIDMessage according to the protocol rules. /// </summary> /// <param name="deserializer">Deserializer to read message</param> /// <returns>NGRIDMessage object that is read</returns> public NGRIDMessage ReadMessage(INGRIDDeserializer deserializer) { //Read protocol type var protocolType = deserializer.ReadUInt32(); if (protocolType != NGRIDDefaultProtocolType) { throw new NGRIDException("Wrong protocol type: " + protocolType + "."); } //Read message type var messageTypeId = deserializer.ReadInt32(); //Read and return message return deserializer.ReadObject(() => NGRIDMessageFactory.CreateMessageByTypeId(messageTypeId)); }
/// <summary> /// Reads and constructs a NGRIDMessage according to the protocol rules. /// </summary> /// <param name="deserializer">Deserializer to read message</param> /// <returns>NGRIDMessage object that is read</returns> public NGRIDMessage ReadMessage(INGRIDDeserializer deserializer) { //Read protocol type var protocolType = deserializer.ReadUInt32(); if (protocolType != NGRIDDefaultProtocolType) { throw new NGRIDException("Wrong protocol type: " + protocolType + "."); } //Read message type var messageTypeId = deserializer.ReadInt32(); //Read and return message return(deserializer.ReadObject(() => NGRIDMessageFactory.CreateMessageByTypeId(messageTypeId))); }
/// <summary> /// Deserializes this message. /// </summary> /// <param name="deserializer">Deserializer used to deserialize objects</param> public override void Deserialize(INGRIDDeserializer deserializer) { base.Deserialize(deserializer); ServerGraph = deserializer.ReadObject(() => new ServerGraphInfo()); }
/// <summary> /// Deserializes this message. /// </summary> /// <param name="deserializer">Deserializer used to deserialize objects</param> public override void Deserialize(INGRIDDeserializer deserializer) { base.Deserialize(deserializer); Result = deserializer.ReadObject(() => new NGRIDOperationResultMessage()); Message = deserializer.ReadObject(() => new NGRIDDataTransferMessage()); }