cpp-msgpack-rpc
0.2.0
An RPC library implementing MessagePack RPC.
Toggle main menu visibility
Loading...
Searching...
No Matches
i_connector.h
Go to the documentation of this file.
1
/*
2
* Copyright 2023 MusicScience37 (Kenta Kabashima)
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
20
#pragma once
21
22
#include <functional>
23
#include <memory>
24
25
#include "
msgpack_rpc/addresses/uri.h
"
26
#include "
msgpack_rpc/common/status.h
"
27
#include "
msgpack_rpc/transport/i_connection.h
"
28
29
namespace
msgpack_rpc::transport
{
30
34
class
IConnector {
35
public
:
45
using
ConnectionCallback
=
46
std::function<void(
const
Status
&, std::shared_ptr<IConnection>)>;
47
55
virtual
void
async_connect
(
56
const
addresses::URI
& uri,
ConnectionCallback
on_connected) = 0;
57
58
IConnector
(
const
IConnector&) =
delete
;
59
IConnector
(IConnector&&) =
delete
;
60
IConnector& operator=(
const
IConnector&) =
delete
;
61
IConnector& operator=(IConnector&&) =
delete
;
62
64
virtual
~IConnector
() noexcept = default;
65
66
protected:
68
IConnector() noexcept = default;
69
};
70
71
}
// namespace msgpack_rpc::transport
msgpack_rpc::addresses::URI
Class of URIs (Uniform Resource Identifiers) to specify endpoints in this library.
Definition
uri.h:38
msgpack_rpc::Status
Class of statuses.
Definition
status.h:34
msgpack_rpc::transport::IConnector::async_connect
virtual void async_connect(const addresses::URI &uri, ConnectionCallback on_connected)=0
Asynchronously connect to an endpoint.
msgpack_rpc::transport::IConnector::IConnector
IConnector() noexcept=default
Constructor.
msgpack_rpc::transport::IConnector::~IConnector
virtual ~IConnector() noexcept=default
Destructor.
msgpack_rpc::transport::IConnector::ConnectionCallback
std::function< void(const Status &, std::shared_ptr< IConnection >)> ConnectionCallback
Type of callback functions called when connecting process finished (even for failures).
Definition
i_connector.h:45
i_connection.h
Definition of IConnection class.
msgpack_rpc::transport
Namespace of transport of messages.
Definition
backends.h:31
status.h
Definition of Status class.
uri.h
Definition of URI class.
include
msgpack_rpc
transport
i_connector.h
Generated on
for cpp-msgpack-rpc by
1.18.0