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

Method deserialize

implementation/protocol/src/unsubscribe_ack_command.cpp:82–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82void unsubscribe_ack_command::deserialize(const std::vector<byte_t>& _buffer, error_e& _error) {
83
84 size_t its_size(COMMAND_HEADER_SIZE + sizeof(service_) + sizeof(instance_) + sizeof(eventgroup_) + sizeof(pending_id_));
85
86 if (its_size > _buffer.size()) {
87
88 _error = error_e::ERROR_NOT_ENOUGH_BYTES;
89 return;
90 }
91
92 // deserialize header
93 command::deserialize(_buffer, _error);
94 if (_error != error_e::ERROR_OK)
95 return;
96
97 // payload
98 size_t its_offset(COMMAND_HEADER_SIZE);
99 std::memcpy(&service_, &_buffer[its_offset], sizeof(service_));
100 its_offset += sizeof(service_);
101 std::memcpy(&instance_, &_buffer[its_offset], sizeof(instance_));
102 its_offset += sizeof(instance_);
103 std::memcpy(&eventgroup_, &_buffer[its_offset], sizeof(eventgroup_));
104 its_offset += sizeof(eventgroup_);
105 std::memcpy(&pending_id_, &_buffer[its_offset], sizeof(pending_id_));
106}
107
108} // namespace protocol
109} // namespace vsomeip

Callers

nothing calls this directly

Calls 2

deserializeFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected