Motr  M0
m0_confc Struct Reference

#include <confc.h>

Collaboration diagram for m0_confc:
Collaboration graph

Data Fields

struct m0_sm_groupcc_group
 
struct m0_mutex cc_lock
 
struct m0_conf_cache cc_cache
 
struct m0_conf_objcc_root
 
struct m0_rpc_link cc_rlink
 
uint32_t cc_nr_ctx
 
struct m0_confc_gate_opscc_gops
 
struct m0_clink cc_drain
 
uint64_t cc_rpc_timeout
 
struct m0_chan cc_unattached
 
struct m0_mutex cc_unatt_guard
 
uint64_t cc_magic
 

Detailed Description

Configuration client.

Definition at line 371 of file confc.h.

Field Documentation

◆ cc_cache

struct m0_conf_cache cc_cache

Configuration cache.

Definition at line 394 of file confc.h.

◆ cc_drain

struct m0_clink cc_drain

The link to fire m0_confc_gate_ops::go_drain() event on. Added to m0_confc::cc_unattached channel explicitly by calling m0_confc_gate_ops_set().

Definition at line 433 of file confc.h.

◆ cc_gops

struct m0_confc_gate_ops* cc_gops

Gating ops. Allowed to be NULL indicating in such case no gating in effect. Set up by rconfc containing the confc. Any access to the ops, reading or writing, must be protected by explicit obtaining m0_confc::cc_lock.

Definition at line 426 of file confc.h.

◆ cc_group

struct m0_sm_group* cc_group

Serialises configuration retrieval state machines (m0_confc_ctx::fc_mach).

Definition at line 376 of file confc.h.

◆ cc_lock

struct m0_mutex cc_lock

Confc cache lock.

  • Protects m0_confc instance from concurrent modifications.
  • Protects the DAG of cached configuration objects from concurrent modifications.
  • Guards m0_conf_obj::co_chan of the cached objects.

If both group and cache locks are needed, group lock must be acquired first.

See also
confc-lspec-thread

Definition at line 391 of file confc.h.

◆ cc_magic

uint64_t cc_magic

Magic number.

Definition at line 449 of file confc.h.

◆ cc_nr_ctx

uint32_t cc_nr_ctx

The number of configuration retrieval contexts associated with this m0_confc.

This value is incremented by m0_confc_ctx_init() and decremented by m0_confc_ctx_fini().

See also
m0_confc_ctx

Definition at line 418 of file confc.h.

◆ cc_rlink

struct m0_rpc_link cc_rlink

RPC link to confd.

Definition at line 407 of file confc.h.

◆ cc_root

struct m0_conf_obj* cc_root

Root of the DAG of configuration objects.

The object may be opened explicitly with m0_confc_root_open(), e.g. for reading conf version number m0_conf_root::rt_verno, and this way appears pinned as any other object. Under the circumstances the root object requires for being closed same explicit way.

Definition at line 404 of file confc.h.

◆ cc_rpc_timeout

uint64_t cc_rpc_timeout

RPC timeout used to connect to or disconnect from confd.

Definition at line 436 of file confc.h.

◆ cc_unatt_guard

struct m0_mutex cc_unatt_guard

Mutex guarding m0_confc::cc_unattached

Definition at line 446 of file confc.h.

◆ cc_unattached

struct m0_chan cc_unattached

The channel to signal on when no more attached context remains. Signaled inside m0_confc_ctx_fini(). i.e. m0_confc::cc_nr_ctx reached 0.

Definition at line 443 of file confc.h.


The documentation for this struct was generated from the following file: