iceoryx2
C++ Language 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
17
18namespace iox2 {
21 public:
22 RequestHeader(const RequestHeader&) = delete;
24 auto operator=(const RequestHeader&) -> RequestHeader& = delete;
25 auto operator=(RequestHeader&& rhs) noexcept -> RequestHeader&;
27
30
31 private:
32 template <ServiceType, typename, typename, typename, typename>
33 friend class ActiveRequest;
34 template <ServiceType, typename, typename, typename, typename>
35 friend class PendingResponse;
36 template <ServiceType, typename, typename, typename, typename>
37 friend class RequestMut;
38
39 explicit RequestHeader(iox2_request_header_h handle);
40 void drop();
41
42 iox2_request_header_h m_handle = nullptr;
43};
44
47 public:
50 auto operator=(const ResponseHeader&) -> ResponseHeader& = delete;
51 auto operator=(ResponseHeader&& rhs) noexcept -> ResponseHeader&;
53
56
57 private:
58 template <ServiceType, typename, typename>
59 friend class Response;
60 template <ServiceType, typename, typename>
61 friend class ResponseMut;
62
63 explicit ResponseHeader(iox2_response_header_h handle);
64 void drop();
65
66 iox2_response_header_h m_handle = nullptr;
67};
68} // namespace iox2
69#endif
Request header used by [MessagingPattern::RequestResponse].
RequestHeader(const RequestHeader &)=delete
auto client_port_id() -> UniqueClientId
Returns the [UniqueClientId] of the source [Client].
RequestHeader(RequestHeader &&rhs) noexcept
auto operator=(RequestHeader &&rhs) noexcept -> RequestHeader &
auto operator=(const RequestHeader &) -> RequestHeader &=delete
Response header used by [MessagingPattern::RequestResponse].
ResponseHeader(ResponseHeader &&rhs) noexcept
auto server_port_id() -> UniqueServerId
Returns the [UniqueServerId] of the source [Server].
auto operator=(const ResponseHeader &) -> ResponseHeader &=delete
auto operator=(ResponseHeader &&rhs) noexcept -> ResponseHeader &
ResponseHeader(const ResponseHeader &)=delete
The system-wide unique id of a [Client].
The system-wide unique id of a [Server].