| 105 | } |
| 106 | |
| 107 | void subscribe_ack_command_base::deserialize(const std::vector<byte_t>& _buffer, error_e& _error) { |
| 108 | |
| 109 | size_t its_size(COMMAND_HEADER_SIZE + sizeof(service_) + sizeof(instance_) + sizeof(eventgroup_) + sizeof(subscriber_) + sizeof(event_) |
| 110 | + sizeof(pending_id_)); |
| 111 | |
| 112 | if (its_size > _buffer.size()) { |
| 113 | |
| 114 | _error = error_e::ERROR_NOT_ENOUGH_BYTES; |
| 115 | return; |
| 116 | } |
| 117 | |
| 118 | // deserialize header |
| 119 | command::deserialize(_buffer, _error); |
| 120 | if (_error != error_e::ERROR_OK) |
| 121 | return; |
| 122 | |
| 123 | // deserialize payload |
| 124 | size_t its_offset(COMMAND_POSITION_PAYLOAD); |
| 125 | std::memcpy(&service_, &_buffer[its_offset], sizeof(service_)); |
| 126 | its_offset += sizeof(service_); |
| 127 | std::memcpy(&instance_, &_buffer[its_offset], sizeof(instance_)); |
| 128 | its_offset += sizeof(instance_); |
| 129 | std::memcpy(&eventgroup_, &_buffer[its_offset], sizeof(eventgroup_)); |
| 130 | its_offset += sizeof(eventgroup_); |
| 131 | std::memcpy(&subscriber_, &_buffer[its_offset], sizeof(subscriber_)); |
| 132 | its_offset += sizeof(subscriber_); |
| 133 | std::memcpy(&event_, &_buffer[its_offset], sizeof(event_)); |
| 134 | its_offset += sizeof(event_); |
| 135 | std::memcpy(&pending_id_, &_buffer[its_offset], sizeof(pending_id_)); |
| 136 | } |
| 137 | |
| 138 | } // namespace protocol |
| 139 | } // namespace vsomeip |
nothing calls this directly
no test coverage detected