57 TestFrame
tf(FrameT(16,
"lotsofsillydata", 0xaa),
58 FrameT(5,
"test", 0xcc),
59 FrameT(10,
"dummydata", 0x33));
62 typename FrameT::TrailerType>;
64 auto checkHeader = [](
const typename FrameT::HeaderType& header) {
65 return header.identifier == 0xdeadbeef;
67 auto checkTrailer = [](
const typename FrameT::TrailerType& trailer) {
68 return trailer.identifier == 0xaaffee00;
70 auto getFrameSize = [](
const typename ParserT::HeaderType& header) {
72 return header.payloadSize + ParserT::totalOffset;
75 std::vector<typename ParserT::FrameInfo> frames;
76 auto insert = [&frames](
typename ParserT::FrameInfo& info) {
77 frames.emplace_back(info);
88 BOOST_REQUIRE(
result == 3);
89 BOOST_REQUIRE(frames.size() == 3);
101 TestFrame
tf(FrameT(16,
"lotsofsillydata"),
103 FrameT(10,
"dummydata"));
106 typename FrameT::TrailerType>;
108 auto checkHeader = [](
const typename FrameT::HeaderType& header) {
109 return header.identifier == 0xdeadbeef;
112 auto getFrameSize = [](
const typename ParserT::HeaderType& header) {
114 return header.payloadSize + ParserT::totalOffset;
117 std::vector<typename ParserT::FrameInfo> frames;
118 auto insert = [&frames](
typename ParserT::FrameInfo& info) {
119 frames.emplace_back(info);
129 BOOST_REQUIRE(
result == 3);
130 BOOST_REQUIRE(frames.size() == 3);
132 BOOST_CHECK(memcmp(frames[0].payload,
"lotsofsillydata", frames[0].
length) == 0);
142 TestFrame
tf(FrameT(16,
"lotsofsillydata"),
144 FrameT(10,
"dummydata"));
147 typename FrameT::TrailerType>;
149 auto checkHeader = [](
const typename FrameT::HeaderType& header) {
154 auto getFrameSize = [](
const typename ParserT::HeaderType& header) {
156 return header.payloadSize + ParserT::totalOffset;
159 std::vector<typename ParserT::FrameInfo> frames;
160 auto insert = [&frames](
typename ParserT::FrameInfo& info) {
161 frames.emplace_back(info);
172 BOOST_REQUIRE(
result == 0);
180 TestFrame
tf(FrameT(16,
"lotsofsillydata"),
182 FrameT(10,
"dummydata"));
185 typename FrameT::TrailerType>;
187 auto checkHeader = [](
const typename FrameT::HeaderType& header) {
188 return header.identifier == 0xdeadbeef;
191 auto getFrameSize = [](
const typename ParserT::HeaderType& header) {
193 return header.payloadSize + ParserT::totalOffset;
196 std::vector<typename ParserT::FrameInfo> frames;
197 auto insert = [&frames](
typename ParserT::FrameInfo& info) {
198 frames.emplace_back(info);
208 BOOST_REQUIRE(
result == -1);
216 TestFrame
tf(FrameT(0,
"lotsofsillydata", {16, 0xaa}),
217 FrameT(0,
"test", {5, 0xcc}),
218 FrameT(0,
"dummydata", {10, 0x33}));
221 typename FrameT::TrailerType>;
223 auto checkHeader = [](
const typename FrameT::HeaderType& header) {
224 return header.identifier == 0xdeadbeef;
226 auto checkTrailer = [](
const typename FrameT::TrailerType& trailer) {
227 return trailer.identifier == 0xaaffee00;
229 auto getFrameSize = [](
const typename ParserT::TrailerType& trailer) {
230 return trailer.payloadSize + ParserT::totalOffset;
233 std::vector<typename ParserT::FrameInfo> frames;
234 auto insert = [&frames](
const typename ParserT::FrameInfo& info) {
235 frames.emplace_back(info);
246 BOOST_REQUIRE(
result == 3);
247 BOOST_REQUIRE(frames.size() == 3);
249 BOOST_CHECK(memcmp(frames[2].payload,
"lotsofsillydata", frames[2].
length) == 0);
int parse(const InputType *buffer, size_t bufferSize, CheckHeaderFct checkHeader, CheckTrailerFct< TrailerType > checkTrailer, GetFrameSizeFct getFrameSize, InsertFct insert)
int parse(const InputType *buffer, size_t bufferSize, CheckHeaderFct checkHeader, CheckTrailerFct checkTrailer, GetFrameSizeFct getFrameSize, InsertFct insert)