Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
info_collector_dtl.hpp
Go to the documentation of this file.
1/* Flow-IPC: Sessions
2 * Copyright 2023 Akamai Technologies, Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the
5 * "License"); you may not use this file except in
6 * compliance with the License. You may obtain a copy
7 * of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in
12 * writing, software distributed under the License is
13 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
14 * CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing
16 * permissions and limitations under the License. */
17
18/// @file
19#pragma once
20
22
23namespace ipc::session
24{
25
26// Types.
27
28/**
29 * This is the `friend` facade of Info_collector that exposes the `private` constructor, so that only internal
30 * session code (Client_session_impl, Server_session_impl) can construct a Info_collector. The user receives
31 * a pointer to an already-constructed Info_collector via Session::info_collector() but cannot construct one
32 * themselves.
33 *
34 * @see Info_collector doc header.
35 */
37{
38 // Methods.
39
40 /**
41 * Constructs a Info_collector capturing a `weak_ptr` to the given session master channel.
42 *
43 * @tparam Master_structured_channel_t
44 * Deduced from `master_channel`.
45 * @param master_channel
46 * The SMC; must be non-null.
47 * @return Newly constructed Info_collector.
48 */
49 template<typename Master_structured_channel_t>
51 ct_base(const boost::shared_ptr<Master_structured_channel_t>& master_channel);
52}; // struct Info_collector_dtl
53
54// Template implementations.
55
56template<typename Master_structured_channel_t>
58 Info_collector_dtl::ct_base(const boost::shared_ptr<Master_structured_channel_t>& master_channel)
59{
61}
62
63} // namespace ipc::session
Bundles access to stats from the session master channel (SMC) – the internal struc::Channel each Sess...
Flow-IPC module providing the broad lifecycle and shared-resource organization – via the session conc...
Definition: app.cpp:29
This is the friend facade of Info_collector that exposes the private constructor, so that only intern...
static Info_collector< Master_structured_channel_t > ct_base(const boost::shared_ptr< Master_structured_channel_t > &master_channel)
Constructs a Info_collector capturing a weak_ptr to the given session master channel.