public T DeserializeMessage <T>(byte[] data) where T : Message
 {
     InitWithBuffer(data);
     return((T)MessageRegistry.GetDeserializeFunction <T>()(this));
 }
 public void DeserializeMessage <T>(byte[] data, out T result) where T : Message
 {
     InitWithBuffer(data);
     result = (T)MessageRegistry.GetDeserializeFunction <T>()(this);
 }
 public Message DeserializeMessage(string rosMessageName, byte[] data, MessageSubtopic subtopic = MessageSubtopic.Default)
 {
     InitWithBuffer(data);
     return(MessageRegistry.GetDeserializeFunction(rosMessageName, subtopic)(this));
 }