From b3a177c79fa95802647346066702c005ba3af9e2 Mon Sep 17 00:00:00 2001 From: Ryan Twilley Date: Mon, 6 May 2024 15:52:13 -0500 Subject: [PATCH] Issue_3: Support reading V2 bag files larger than 2 GB --- RobSharper.Ros.BagReader.Tests/BagReaderTests.cs | 7 +++++-- RobSharper.Ros.BagReader/V2BagReader.cs | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/RobSharper.Ros.BagReader.Tests/BagReaderTests.cs b/RobSharper.Ros.BagReader.Tests/BagReaderTests.cs index 38969ed..20e5dc7 100644 --- a/RobSharper.Ros.BagReader.Tests/BagReaderTests.cs +++ b/RobSharper.Ros.BagReader.Tests/BagReaderTests.cs @@ -29,9 +29,12 @@ public void Can_create_bag_reader_for_v2_bag(string bagfile) public void Can_read_bag(string bagfile) { SetBagFile(bagfile); - - var rosbag = BagReaderFactory.Create(_bagStream, RecordVisitor.NullVisitor); + + var visitorMock = new Mock(); + var rosbag = BagReaderFactory.Create(_bagStream, visitorMock.Object); rosbag.ProcessAll(); + + visitorMock.Verify(x => x.Visit(It.IsAny()), Times.AtLeastOnce()); } diff --git a/RobSharper.Ros.BagReader/V2BagReader.cs b/RobSharper.Ros.BagReader/V2BagReader.cs index f64b44f..bd14be0 100644 --- a/RobSharper.Ros.BagReader/V2BagReader.cs +++ b/RobSharper.Ros.BagReader/V2BagReader.cs @@ -69,7 +69,7 @@ public bool ProcessNext() private RosBinaryReader CreateRecordDataReader() { - var length = _reader.ReadInt32(); + var length = _reader.ReadUInt32(); var confinedStream = new ConfinedReadOnlyStream(_stream, length); var dataReader = new RosBinaryReader(confinedStream);