@@ -476,3 +476,103 @@ p1 = RTPS(
476476assert p0.build() == d
477477assert p1.build() == d
478478assert p0 == p1
479+
480+ p0 = RTPS(
481+ protocolVersion=ProtocolVersionPacket(major=2, minor=2),
482+ vendorId=VendorIdPacket(vendor_id=0x010f),
483+ guidPrefix=GUIDPrefixPacket(
484+ hostId=0x010f45d2, appId=0xb3f558b9, instanceId=0x01000000
485+ ),magic=b"RTPS"
486+ )/RTPSMessage(submessages=[
487+ RTPSSubMessage_INFO_TS(
488+ submessageId=9,
489+ submessageFlags=1,
490+ octetsToNextHeader=8,
491+ ts_seconds=1638425814,
492+ ts_fraction=2083784982,
493+ ),
494+ RTPSSubMessage_DATA(
495+ submessageId= 0x15,
496+ submessageFlags= 0x7,
497+ octetsToNextHeader= 54,
498+ extraFlags= 0x0,
499+ octetsToInlineQoS= 16,
500+ readerEntityIdKey= 0x0,
501+ readerEntityIdKind= 0x0,
502+ writerEntityIdKey= 0x0,
503+ writerEntityIdKind= 0x0,
504+ writerSeqNumHi= 0,
505+ writerSeqNumLow= 4,
506+ inlineQoS= InlineQoSPacket(
507+ parameters= [
508+ PID_UNKNOWN(
509+ parameterId= 0x801e,
510+ parameterLength= 4,
511+ parameterData= b'\x00\x00\x00\x00',
512+ ),
513+ ],
514+ sentinel= PID_SENTINEL(
515+ parameterId= 0x1,
516+ parameterLength= 0,
517+ parameterData= b'',
518+ ),
519+ ),
520+ data= DataPacket(
521+ encapsulationKind= 0x1,
522+ encapsulationOptions= 0x3,
523+ serializedData= b'=\x00\x00\x00abcdefghij\x00\x00\x00\x00',
524+ ),
525+ ),
526+ RTPSSubMessage_INFO_TS(
527+ submessageId=9,
528+ submessageFlags=1,
529+ octetsToNextHeader=8,
530+ ts_seconds=1638425814,
531+ ts_fraction=2083784982,
532+ ),
533+ RTPSSubMessage_DATA(
534+ submessageId= 0x15,
535+ submessageFlags= 0x7,
536+ octetsToNextHeader= 54,
537+ extraFlags= 0x0,
538+ octetsToInlineQoS= 16,
539+ readerEntityIdKey= 0x0,
540+ readerEntityIdKind= 0x0,
541+ writerEntityIdKey= 0x0,
542+ writerEntityIdKind= 0x0,
543+ writerSeqNumHi= 0,
544+ writerSeqNumLow= 4,
545+ inlineQoS= InlineQoSPacket(
546+ parameters= [
547+ PID_UNKNOWN(
548+ parameterId= 0x801e,
549+ parameterLength= 4,
550+ parameterData= b'\x00\x00\x00\x00',
551+ ),
552+ ],
553+ sentinel= PID_SENTINEL(
554+ parameterId= 0x1,
555+ parameterLength= 0,
556+ parameterData= b'',
557+ ),
558+ ),
559+ data= DataPacket(
560+ encapsulationKind= 0x1,
561+ encapsulationOptions= 0x3,
562+ serializedData= b'=\x00\x00\x00abcdefghij\x00\x00\x00\x00',
563+ ),
564+ ),
565+ ])
566+
567+ d = b"\x52\x54\x50\x53\x02\x02\x01\x0f\x01\x0f\x45\xd2\xb3\xf5\x58\xb9" \
568+ b"\x01\x00\x00\x00\x09\x01\x08\x00\xd6\x64\xa8\x61\x16\x09\x34\x7c" \
569+ b"\x15\x07\x36\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00" \
570+ b"\x00\x00\x00\x00\x04\x00\x00\x00\x1e\x80\x04\x00\x00\x00\x00\x00" \
571+ b"\x01\x00\x00\x00\x00\x01\x00\x03\x3d\x00\x00\x00\x61\x62\x63\x64" \
572+ b"\x65\x66\x67\x68\x69\x6a\x00\x00\x00\x00\x09\x01\x08\x00\xd6\x64" \
573+ b"\xa8\x61\x16\x09\x34\x7c\x15\x07\x36\x00\x00\x00\x10\x00\x00\x00" \
574+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e\x80" \
575+ b"\x04\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x03\x3d\x00" \
576+ b"\x00\x00\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x00\x00\x00\x00"
577+
578+ assert RTPS(d) == p0
0 commit comments