@@ -476,3 +476,103 @@ p1 = RTPS(
476
476
assert p0.build() == d
477
477
assert p1.build() == d
478
478
assert 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