コード例 #1
0
 public static void GetMessage(this IoBuffer buffer, ref Message obj)
 {
     ByteOrder byteOrder = buffer.Order;
     buffer.Order = ByteOrder.LittleEndian;
     obj.Header = buffer.GetHeader();
     while (buffer.HasRemaining)
     {
         SubMessage submsg = buffer.GetSubMessage();
         obj.SubMessages.Add(submsg);
     }
     buffer.Order = byteOrder;
 }
コード例 #2
0
 public static void PutMessage(this IoBuffer buffer, Message msg)
 {
     buffer.PutHeader(msg.Header);
     int position = 0;
     int subMessageCount = 0;
     foreach (SubMessage submsg in msg.SubMessages)
     {
         int subMsgStartPosition = buffer.Position;
         position = buffer.PutSubMessage(submsg);
         subMessageCount++;
     }
     // Length of last submessage is 0, @see 8.3.3.2.3 submessageLength
     if (subMessageCount > 0)
         buffer.PutInt16(position - 2, (short)0);
 }
コード例 #3
0
 public static Message GetMessage(this IoBuffer buffer)
 {
     Message obj = new Message();
     buffer.GetMessage(ref obj);
     return obj;
 }
コード例 #4
0
ファイル: UDPTransmitter.cs プロジェクト: Egipto87/DOOP.ec
 /**
  * Sends a Message to a Locator of this UDPWriter.
  * If an overflow occurs during writing of Message, only submessages that
  * were succesfully written will be sent.
  * 
  * @param m Message to send
  * @return true, if Message did not fully fit into buffer of this UDPWriter
  */
 public void SendMessage(Message m)
 {
     if (session != null)
     {
         session.Write(m);
     }
 }
コード例 #5
0
ファイル: UDPReceiver.cs プロジェクト: Egipto87/DOOP.ec
 /// <summary>
 /// </summary>
 public RTPSMessageEventArgs(IoSession session, Message message)
     : base(session)
 {
     _message = message;
 }