|
SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
|
Go to the documentation of this file.
13 namespace SWC {
namespace client {
106 return it->second.schema;
109 if(!(has_req = tmp.
datap))
121 m_schemas[schema->cid].assign(ts, schema);
138 return data.second.schema;
143 if(!(has_req = tmp.
datap))
155 m_schemas[schema->cid].assign(ts, schema);
168 ? it->second.schema :
nullptr;
176 return data.second.schema;
186 _request(err, patterns, schemas, timeout);
188 if(!err && schemas.
empty()) {
194 for(
auto& schema : schemas) {
195 m_schemas[schema->cid].assign(ts, schema);
204 get(err, patterns, schemas, timeout);
211 m_schemas[schema->cid].assign(ts, schema);
217 for(
auto& schema : schemas) {
218 m_schemas[schema->cid].assign(ts, schema);
230 Comm::Protocol::Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_ID,
241 Comm::Protocol::Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_ID,
259 Comm::Protocol::Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_NAME,
270 Comm::Protocol::Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_NAME,
constexpr SWC_CAN_INLINE bool compare_exchange_weak(T &at, T value) noexcept
SWC_CAN_INLINE ColumnGetData(const SWC::client::Clients::Ptr &a_clients) noexcept
std::unordered_map< std::string, Pending > m_pending_name
static SWC_CAN_INLINE Ptr make(const Mngr::Params::ColumnGetReq ¶ms, const uint32_t timeout, DataArgsT &&... args)
std::shared_ptr< Schema > Ptr
SWC_CAN_INLINE ~ColumnGetData() noexcept
std::unordered_map< cid_t, SchemaData > m_schemas
void set(const DB::Schema::Ptr &schema)
SWC_CAN_INLINE void callback(const Comm::client::ConnQueue::ReqBase::Ptr &, int error, const Comm::Protocol::Mngr::Params::ColumnGetRsp &rsp)
Config::Property::Value_int32_g::Ptr m_expiry_ms
SWC_CAN_INLINE int32_t get() const noexcept
bool str_eq(const char *s1, const char *s2) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
constexpr SWC_CAN_INLINE bool empty() const noexcept
SWC_CAN_INLINE void wait()
The SWC-DB C++ namespace 'SWC'.
SWC::client::Clients::Ptr clients
Comm::DispatchHandler::Ptr req
SWC_CAN_INLINE SWC::client::Clients::Ptr & get_clients() noexcept
Pending _request(cid_t cid, uint32_t timeout)
std::unordered_map< cid_t, Pending > m_pending_cid
DB::Schema::Ptr get(int &err, cid_t cid, uint32_t timeout=300000)
static SWC_CAN_INLINE void request(const Mngr::Params::ColumnListReq ¶ms, const uint32_t timeout, DataArgsT &&... args)
SWC_CAN_INLINE int64_t now_ms() noexcept
SWC_CAN_INLINE bool valid()
static SWC_CAN_INLINE void request(const Params::ColumnListReq ¶ms, const uint32_t timeout, DataArgsT &&... args)
SWC_CAN_INLINE void acknowledge() noexcept
std::shared_ptr< ConnQueueReqBase > Ptr
SWC_CAN_INLINE bool wait(int &_err, DB::Schema::Ptr &_schema)
Core::StateSynchronization await
static SWC_CAN_INLINE Ptr make(const Params::ColumnGetReq ¶ms, const uint32_t timeout, DataArgsT &&... args)
Core::Atomic< uint8_t > flags