Пример #1
0
//-----------------------------------------------------------------------------
CCSDS::PACKET::Packet::Packet()
//-----------------------------------------------------------------------------
{
  resize(PRIMARY_HEADER_BYTE_SIZE);
  setPacketLength();
  versionNumber(CCSDS::PACKET::VERSION_NUMBER);
  segmentationFlags(CCSDS::PACKET::SEGMENTATION_NONE);
  dataFieldHeaderFlag(0);
}
Пример #2
0
//-----------------------------------------------------------------------------
CCSDS::PACKET::Packet::Packet(size_t p_bufferSize):
  UTIL::DU::DU(p_bufferSize)
//-----------------------------------------------------------------------------
{
  if(p_bufferSize < PRIMARY_HEADER_BYTE_SIZE)
  {
    resize(PRIMARY_HEADER_BYTE_SIZE);
  }
  setPacketLength();
  versionNumber(CCSDS::PACKET::VERSION_NUMBER);
  segmentationFlags(CCSDS::PACKET::SEGMENTATION_NONE);
  dataFieldHeaderFlag(0);
}
Пример #3
0
VALUE_ret makePacketV1Hdr (PHDWORD* packet_ptr, UINT maxPacketLength)
{
  if (maxPacketLength < packetV1HdrLength) 
    return valueFailure;

  dwordClear(packet_ptr, packetV1HdrLength);
  setPacketLength(packet_ptr, packetV1HdrLength);
  setPacketHdrVersion (packet_ptr, packetV1HdrVersion);
  setPacketHdrLength (packet_ptr, packetV1HdrLength);

  unsigned long n = 1;
  char * cp = (char*)&n;
  if (*cp==1) setPacketEndianism(packet_ptr, 1);
         else setPacketEndianism(packet_ptr, 2);

  return packetV1HdrLength;
}
Пример #4
0
void Header::prependSerializedHeader(vpr::BufferObjectWriter* packetWriter)
{
   // Set Packet length
   setPacketLength( packetWriter->getData()->size() + RIM_PACKET_HEAD_SIZE );

   std::vector<vpr::Uint8> header_data;
   vpr::BufferObjectWriter writer( &header_data );

   // Serialize all header data.
   writer.writeUint16( mRIMCode );
   writer.writeUint16( mPacketType );
   writer.writeUint32( mFrame );
   writer.writeUint32( mPacketLength );

   // Prepend header onto packets data
   packetWriter->getData()->insert( packetWriter->getData()->begin(),
                                   header_data.begin(),
                                   header_data.end() );

   packetWriter->setCurPos( getPacketLength() );

}