9#include "webcface/common/webcface-config.h"
19 std::shared_ptr<internal::ClientData> data;
51 const std::shared_ptr<internal::ClientData> &data);
67 template <
typename F,
typename std::enable_if_t<std::is_invocable_v<F>,
68 std::
nullptr_t> =
nullptr>
71 [callback = std::move(callback)](
const auto &) { callback(); });
83 template <
typename F,
typename std::enable_if_t<std::is_invocable_v<F>,
84 std::
nullptr_t> =
nullptr>
87 [callback = std::move(callback)](
const auto &) { callback(); });
100 const Client &close()
const;
110 const Client &autoReconnect(
bool enabled)
const;
115 bool autoReconnect()
const;
122 const Client &start()
const;
135 const Client &waitConnection()
const;
139 syncImpl(std::optional<std::chrono::microseconds> timeout)
const;
157 return syncImpl(std::chrono::microseconds(0));
173 return syncImpl(timeout);
184 template <
typename Clock,
typename Duration>
187 return syncImpl(std::chrono::duration_cast<std::chrono::microseconds>(
188 timeout - Clock::now()));
225 return Member{data, name};
247 std::vector<Member> members();
255 std::vector<Member> members()
const;
281 std::streambuf *loggerStreamBuf()
const;
303 std::ostream &loggerOStream()
const;
318 std::wstreambuf *loggerWStreamBuf()
const;
333 std::wostream &loggerWOStream()
const;
348 const std::string &serverVersion()
const;
356 const std::string &serverName()
const;
361 const std::string &serverHostName()
const;
サーバーに接続するクライアント。
Definition client.h:18
const Client & loopSyncFor(std::chrono::microseconds timeout) const
送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
Definition client.h:172
const Client & onConnect(F callback) const
サーバーに接続したときに呼び出されるコールバックを設定
Definition client.h:85
const Client & loopSync() const
送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
Definition client.h:201
Member member(StringInitializer name) const
他のmemberにアクセスする
Definition client.h:238
const Client & loopSyncUntil(std::chrono::time_point< Clock, Duration > timeout) const
送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
Definition client.h:186
const Client & onDisconnect(F callback) const
切断したときに呼び出されるコールバックを設定
Definition client.h:69
Client()
名前を指定せずサーバーに接続する
Definition client.h:31
Client(StringInitializer name, StringInitializer host="127.0.0.1", int port=7530)
名前を指定しサーバーに接続する
Definition client.h:43
Client(const Client &)=delete
const Client & sync() const
送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
Definition client.h:156
const Client & operator=(const Client &)=delete
Memberを指すクラス
Definition member.h:23
const Member & onConnect(std::function< void(Member)> callback) const
Memberがサーバーに接続したときに呼び出されるコールバックを設定
Definition member.cc:47
const Member & onDisconnect(std::function< void(Member)> callback) const
Memberが切断したときに呼び出されるコールバックを設定
Definition member.cc:40
bool connected() const
Memberがサーバーに接続できているときtrueを返す
Definition member.cc:30
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition encoding.h:159
bool empty() const
Definition encoding.cc:230
SharedString のpublicなコンストラクタインタフェース (入力専用)
Definition encoding.h:215
Member_ member() const
Memberを返す
Definition field.h:107
#define WEBCFACE_DLL
Definition webcface-config.h:69
#define WEBCFACE_NS_END
Definition webcface-config.h:118
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:117
#define WEBCFACE_DEFAULT_PORT
Definition webcface-config.h:4
#define WEBCFACE_CALL_FP
Definition webcface-config.h:107