iceoryx
2
C++ Bindings
Loading...
Searching...
No Matches
header_request_response.hpp
Go to the documentation of this file.
1
// Copyright (c) 2025 Contributors to the Eclipse Foundation
2
//
3
// See the NOTICE file(s) distributed with this work for additional
4
// information regarding copyright ownership.
5
//
6
// This program and the accompanying materials are made available under the
7
// terms of the Apache Software License 2.0 which is available at
8
// https://www.apache.org/licenses/LICENSE-2.0, or the MIT license
9
// which is available at https://opensource.org/licenses/MIT.
10
//
11
// SPDX-License-Identifier: Apache-2.0 OR MIT
12
13
#ifndef IOX2_HEADER_REQUEST_RESPONSE_HPP
14
#define IOX2_HEADER_REQUEST_RESPONSE_HPP
15
16
#include "
iox2/unique_port_id.hpp
"
17
18
namespace
iox2
{
20
class
RequestHeader
{
21
public
:
22
RequestHeader
(
const
RequestHeader
&) =
delete
;
23
RequestHeader
(
RequestHeader
&& rhs)
noexcept
;
24
auto
operator=
(
const
RequestHeader
&) ->
RequestHeader
& =
delete
;
25
auto
operator=
(
RequestHeader
&& rhs)
noexcept
->
RequestHeader
&;
26
~RequestHeader
();
27
29
auto
client_port_id
() ->
UniqueClientId
;
30
32
auto
number_of_elements
() const -> uint64_t;
33
35
auto
payload_offset
() const -> uint64_t;
36
37
private:
38
template <
ServiceType
, typename, typename, typename, typename>
39
friend class
ActiveRequest
;
40
template <
ServiceType
, typename, typename, typename, typename>
41
friend class
PendingResponse
;
42
template <
ServiceType
, typename, typename, typename, typename>
43
friend class
RequestMut
;
44
45
explicit
RequestHeader
(iox2_request_header_h handle);
46
void
drop();
47
48
iox2_request_header_h m_handle =
nullptr
;
49
};
50
52
class
ResponseHeader
{
53
public
:
54
ResponseHeader
(
const
ResponseHeader
&) =
delete
;
55
ResponseHeader
(
ResponseHeader
&& rhs)
noexcept
;
56
auto
operator=
(
const
ResponseHeader
&) ->
ResponseHeader
& =
delete
;
57
auto
operator=
(
ResponseHeader
&& rhs)
noexcept
->
ResponseHeader
&;
58
~ResponseHeader
();
59
61
auto
server_port_id
() ->
UniqueServerId
;
62
64
auto
number_of_elements
() const -> uint64_t;
65
67
auto
payload_offset
() const -> uint64_t;
68
69
private:
70
template <
ServiceType
, typename, typename>
71
friend class
Response
;
72
template <
ServiceType
, typename, typename>
73
friend class
ResponseMut
;
74
75
explicit
ResponseHeader
(iox2_response_header_h handle);
76
void
drop();
77
78
iox2_response_header_h m_handle =
nullptr
;
79
};
80
}
// namespace iox2
81
#endif
iox2::ActiveRequest
Definition
active_request.hpp:41
iox2::PendingResponse
Definition
pending_response.hpp:41
iox2::RequestHeader
Request header used by [MessagingPattern::RequestResponse].
Definition
header_request_response.hpp:20
iox2::RequestHeader::RequestHeader
RequestHeader(const RequestHeader &)=delete
iox2::RequestHeader::client_port_id
auto client_port_id() -> UniqueClientId
Returns the [UniqueClientId] of the source [Client].
iox2::RequestHeader::~RequestHeader
~RequestHeader()
iox2::RequestHeader::payload_offset
auto payload_offset() const -> uint64_t
Returns the payload offset.
iox2::RequestHeader::number_of_elements
auto number_of_elements() const -> uint64_t
Returns the number of [Payload] elements in the received [Request].
iox2::RequestHeader::RequestHeader
RequestHeader(RequestHeader &&rhs) noexcept
iox2::RequestHeader::operator=
auto operator=(RequestHeader &&rhs) noexcept -> RequestHeader &
iox2::RequestHeader::operator=
auto operator=(const RequestHeader &) -> RequestHeader &=delete
iox2::RequestMut
Definition
request_mut.hpp:43
iox2::ResponseHeader
Response header used by [MessagingPattern::RequestResponse].
Definition
header_request_response.hpp:52
iox2::ResponseHeader::ResponseHeader
ResponseHeader(ResponseHeader &&rhs) noexcept
iox2::ResponseHeader::server_port_id
auto server_port_id() -> UniqueServerId
Returns the [UniqueServerId] of the source [Server].
iox2::ResponseHeader::operator=
auto operator=(const ResponseHeader &) -> ResponseHeader &=delete
iox2::ResponseHeader::operator=
auto operator=(ResponseHeader &&rhs) noexcept -> ResponseHeader &
iox2::ResponseHeader::number_of_elements
auto number_of_elements() const -> uint64_t
Returns the number of [Payload] elements in the received [Response].
iox2::ResponseHeader::~ResponseHeader
~ResponseHeader()
iox2::ResponseHeader::ResponseHeader
ResponseHeader(const ResponseHeader &)=delete
iox2::ResponseMut
Definition
response_mut.hpp:43
iox2::Response
Definition
response.hpp:33
iox2::UniqueClientId
The system-wide unique id of a [Client].
Definition
unique_port_id.hpp:127
iox2::UniqueServerId
The system-wide unique id of a [Server].
Definition
unique_port_id.hpp:153
iox2
Definition
active_request.hpp:31
iox2::ServiceType
ServiceType
Definition
service_type.hpp:21
unique_port_id.hpp
iox2
header_request_response.hpp
Generated by
1.9.8