WebCFace 2.5.2
Web-based Communication Framework & Dashboard-like UI
|
送受信するデータを保持するクラス More...
#include <webcface/internal/data_store2.h>
Public Member Functions | |
SyncDataStore2 (const SharedString &name) | |
bool | isSelf (const SharedString &member) const |
unsigned int | addReq (const SharedString &member, const SharedString &field) |
リクエストを追加 | |
unsigned int | addReq (const SharedString &member, const SharedString &field, const ReqT &req_info) |
リクエストを追加 | |
void | setSend (const SharedString &name, const T &data) |
送信するデータをセット | |
void | setSend (const FieldBase &base, const T &data) |
void | setRecv (const SharedString &from, const SharedString &name, const T &data) |
受信したデータをdata_recvにセット | |
void | setRecv (const FieldBase &base, const T &data) |
void | clearRecv (const SharedString &from, const SharedString &name) |
受信したデータを削除 | |
void | clearRecv (const FieldBase &base) |
std::optional< T > | getRecv (const SharedString &from, const SharedString &name) |
data_recvからデータを返す | |
std::optional< T > | getRecv (const FieldBase &base) |
bool | unsetRecv (const SharedString &from, const SharedString &name) |
data_recvからデータを削除, reqを消す | |
bool | unsetRecv (const FieldBase &base) |
void | initMember (const SharedString &from) |
memberのentryとデータをクリア | |
void | setEntry (const SharedString &from, const SharedString &e) |
受信したentryを追加 | |
StrSet1 | getEntry (const SharedString &from) |
entryを取得 | |
StrSet1 | getEntry (const FieldBase &base) |
std::pair< SharedString, SharedString > | getReq (unsigned int req_id, const SharedString &sub_field) |
req_idに対応するmember名とフィールド名を返す | |
const ReqT & | getReqInfo (const SharedString &member, const SharedString &field) |
member名とフィールド名に対応するreq_infoを返す | |
StrMap1< T > | transferSend (bool is_first) |
data_sendを返し、data_sendをクリア | |
StrMap1< T > | getSendPrev (bool is_first) |
StrMap2< unsigned int > | transferReq () |
req_sendを返し、req_sendをクリア | |
Public Attributes | |
std::recursive_mutex | mtx |
送受信するデータを保持するクラス
memberごとにフィールドを持つデータに使う。 member, fieldの2次元mapとなる
T=FuncInfoの時、entryとreqは使用しない(常にすべての関数の情報が送られてくる)
|
explicit |
unsigned int addReq | ( | const SharedString & | member, |
const SharedString & | field | ||
) |
リクエストを追加
memberがselfの場合無効
unsigned int addReq | ( | const SharedString & | member, |
const SharedString & | field, | ||
const ReqT & | req_info | ||
) |
リクエストを追加
req_infoが前回と異なっていればすでにリクエストされていても上書きする
memberがselfの場合無効
void clearRecv | ( | const FieldBase & | base | ) |
void clearRecv | ( | const SharedString & | from, |
const SharedString & | name | ||
) |
受信したデータを削除
StrSet1 getEntry | ( | const SharedString & | from | ) |
entryを取得
std::optional< T > getRecv | ( | const FieldBase & | base | ) |
std::optional< T > getRecv | ( | const SharedString & | from, |
const SharedString & | name | ||
) |
data_recvからデータを返す
std::pair< SharedString, SharedString > getReq | ( | unsigned int | req_id, |
const SharedString & | sub_field | ||
) |
req_idに対応するmember名とフィールド名を返す
const ReqT & getReqInfo | ( | const SharedString & | member, |
const SharedString & | field | ||
) |
member名とフィールド名に対応するreq_infoを返す
StrMap1< T > getSendPrev | ( | bool | is_first | ) |
void initMember | ( | const SharedString & | from | ) |
memberのentryとデータをクリア
ambiguousなので引数にFieldBaseは使わない (そもそも必要ない)
bool isSelf | ( | const SharedString & | member | ) | const |
void setEntry | ( | const SharedString & | from, |
const SharedString & | e | ||
) |
受信したentryを追加
void setRecv | ( | const FieldBase & | base, |
const T & | data | ||
) |
void setRecv | ( | const SharedString & | from, |
const SharedString & | name, | ||
const T & | data | ||
) |
受信したデータをdata_recvにセット
void setSend | ( | const FieldBase & | base, |
const T & | data | ||
) |
void setSend | ( | const SharedString & | name, |
const T & | data | ||
) |
送信するデータをセット
データをdata_sendとdata_recv[self_member_name]にセットし、 has_sendをtrueにする
StrMap2< unsigned int > transferReq |
req_sendを返し、req_sendをクリア
StrMap1< T > transferSend | ( | bool | is_first | ) |
data_sendを返し、data_sendをクリア
bool unsetRecv | ( | const FieldBase & | base | ) |
bool unsetRecv | ( | const SharedString & | from, |
const SharedString & | name | ||
) |
data_recvからデータを削除, reqを消す
std::recursive_mutex mtx |