MCPcopy Create free account
hub / github.com/COVESA/vsomeip / parse

Function parse

test/network_tests/fake_socket_tests/helpers/someip_message.cpp:30–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28namespace vsomeip_v3::testing {
29
30[[nodiscard]] size_t parse(std::vector<unsigned char>& _message, someip_message& _out_message) {
31 if (_message.size() < VSOMEIP_FULL_HEADER_SIZE) {
32 TEST_LOG << "[Warning] Message not long enough to contain someip header";
33 return 0;
34 }
35
36 vsomeip_v3::deserializer des{&_message[0], _message.size(), VSOMEIP_DEFAULT_BUFFER_SHRINK_THRESHOLD};
37 auto msg = des.deserialize_message();
38
39 if (!msg) {
40 TEST_LOG << "Failure during message deserialization";
41 return 0;
42 }
43 if (msg->get_service() == VSOMEIP_SD_SERVICE && msg->get_method() == VSOMEIP_SD_METHOD) {
44 auto sd_msg = parse_sd(_message);
45 if (sd_msg) {
46 _out_message.sd_ = sd_msg;
47 return _message.size();
48 }
49 }
50 _out_message.msg_ = msg;
51
52 return _message.size();
53}
54
55[[nodiscard]] size_t parse_sequential_someip(unsigned char* _message, size_t _message_size, someip_message& _out_message) {
56 if (_message_size < VSOMEIP_FULL_HEADER_SIZE) {

Callers 3

push_checked_dataMethod · 0.70
consumeMethod · 0.50
consumeMethod · 0.50

Calls 5

parse_sdFunction · 0.85
deserialize_messageMethod · 0.80
get_methodMethod · 0.80
sizeMethod · 0.45
get_serviceMethod · 0.45

Tested by

no test coverage detected