DABC (Data Acquisition Backbone Core)
2.9.9
|
Container for connection parameters. More...
#include <dabc/ConnectionRequest.h>
Public Types | |
enum | EState { sInit , sPending , sConnecting , sConnected , sDisconnected , sBroken , sFailed } |
Public Member Functions | |
virtual const char * | ClassName () const |
Returns class name of the object instance. More... | |
Public Member Functions inherited from dabc::ParameterContainer | |
const std::string & | Kind () const |
Public Member Functions inherited from dabc::RecordContainer | |
RecordFieldsMap & | Fields () const |
virtual void | Print (int lvl=0) |
Print object content on debug output. More... | |
virtual | ~RecordContainer () |
Public Member Functions inherited from dabc::Object | |
bool | AddChild (Object *child, bool withmutex=true) throw () |
Add object to list of child objects, thread safe More... | |
bool | AddChildAt (Object *child, unsigned pos, bool withmutex=true) |
Add object to list of child objects at specified position. More... | |
virtual bool | Find (ConfigIO &cfg) |
Method to locate object in xml file. More... | |
Object * | FindChild (const char *name) const |
returns pointer on child object with given name More... | |
Reference | FindChildRef (const char *name, bool force=false) const throw () |
returns reference on child object with given name More... | |
bool | GetAllChildRef (ReferencesVector *vect) const |
Object * | GetChild (unsigned n) const |
returns pointer on child object More... | |
Reference | GetChildRef (unsigned n) const |
returns reference on child object More... | |
Reference | GetFolder (const std::string &name, bool force=false) throw () |
Return folder of specified name, no special symbols allowed. More... | |
const char * | GetName () const |
Returns name of the object, thread safe More... | |
Object * | GetParent () const |
Returns pointer on parent object, thread safe More... | |
Reference | GetParentRef () const |
bool | IsChildsHidden () const |
Return true if object wants to hide childs from hierarchy scan, thread safe More... | |
bool | IsHidden () const |
Return true if object wants to be hidden from hierarchy scan, thread safe More... | |
bool | IsLogging () const |
Return true if object selected for logging, thread safe More... | |
bool | IsName (const char *str) const |
Checks if object name is same as provided string, thread safe More... | |
bool | IsName (const char *str, int len) const |
Checks if object name is same as provided, thread safe More... | |
bool | IsName (const std::string &str) const |
Checks if object name is same as provided string, thread safe More... | |
bool | IsNameMatch (const std::string &mask) const |
Check if object name match to the mask. More... | |
bool | IsOwner () const |
Returns true if object is owner of its children, thread safe More... | |
bool | IsParent (Object *obj) const |
Checks if specified argument is in the list of object parents. More... | |
bool | IsTopXmlLevel () const |
Return true if object should be searched in the top level of the xml file, thread safe More... | |
std::string | ItemName (bool compact=true) const |
Produce string, which can be used as name argument in dabc::mgr.FindItem(name) call. More... | |
unsigned | NumChilds () const |
returns number of child objects More... | |
Object (const std::string &name, unsigned flags=flIsOwner) | |
Resolve problem with child-parent mutex locking. More... | |
Object (Reference parent, const std::string &name, unsigned flags=flIsOwner) | |
bool | RemoveChild (Object *child, bool cleanup=true) throw () |
Detach child from parent object If cleanup==true and parent is owner of child, child will be destroyed. More... | |
bool | RemoveChildAt (unsigned n, bool cleanup=true) throw () |
Detach child object from parent at specified position If cleanup==true and object is owner of child, child will be destroyed. More... | |
bool | RemoveChilds (bool cleanup=true) |
Remove all childs. More... | |
void | SetLogging (bool on=true) |
Sets logging flag, thread safe More... | |
virtual | ~Object () |
Static Public Member Functions | |
static const char * | GetStateName (EState state) |
static const char * | ObjectName () |
Static Public Member Functions inherited from dabc::Object | |
static void | Destroy (Object *obj) throw () |
User method for object destroyment. More... | |
static void | InspectGarbageCollector () |
\ brief Methods to inspect how many objects pointers are remained More... | |
static bool | NameMatch (const std::string &name, const std::string &mask) |
Check if name matches to specified mask. More... | |
static bool | NameMatchM (const std::string &name, const std::string &mask) |
Check if name matches to specified mask. More... | |
static unsigned | NumInstances () |
Static variable counts total number of objects instances. More... | |
Protected Member Functions | |
virtual bool | _CanChangeField (const std::string &) |
Reimplement virtual method of ParameterContainer to block field change if object in non-init state. More... | |
void | ChangeState (EState state, bool force) |
Change state of connection object. More... | |
double | CheckDelay (double shift) |
Function accounts time spent and returns true, if delay is not yet finished. More... | |
ConnectionObject (Reference port, const std::string &localurl) | |
virtual std::string | DefaultFiledName () const |
ConnectionObject::EState | GetState () |
void | SetDelay (double v, bool force=false) |
Set delay how long record is inactive. More... | |
virtual | ~ConnectionObject () |
Protected Member Functions inherited from dabc::ParameterContainer | |
bool | _CalcRate (double &value, std::string &svalue) |
virtual void | BuildFieldsMap (RecordFieldsMap *cont) |
Save parameter attributes into container. More... | |
unsigned | ConfirmFromWorker () |
Get confirmation from worker, which monitor parameters changes. More... | |
virtual std::string | FieldName (unsigned cnt) const |
void | FireModified (const std::string &svalue) |
Internal method, used to inform system that parameter is modified If configured, also debug output will be produced. More... | |
void | FireParEvent (int id) |
const std::string | GetActualUnits () const |
int | GetDebugLevel () const |
virtual RecordField | GetField (const std::string &name) const |
Worker * | GetWorker () const |
virtual bool | HasField (const std::string &name) const |
bool | IsDeliverAllEvents () const |
If true, all events must be delivered to the consumer. More... | |
void | Modified () |
virtual unsigned | NumFields () const |
virtual void | ObjectCleanup () |
User method to cleanup object content before it will be destroyed Main motivation is to release any references on other objects to avoid any cross-references and as result deadlocks in objects cleanup. More... | |
ParameterContainer (Reference worker, const std::string &name, const std::string &parkind="", bool hidden=false) | |
void | ProcessTimeout (double last_dif) |
Method called from manager thread when parameter configured as asynchronous. More... | |
virtual bool | RemoveField (const std::string &name) |
virtual bool | SetField (const std::string &name, const RecordField &v) |
void | SetSynchron (bool on, double interval=1., bool everyevnt=false) |
Specifies that parameter produce 'modified' events synchronous with changes of parameter. More... | |
virtual | ~ParameterContainer () |
Protected Member Functions inherited from dabc::RecordContainer | |
RecordContainer (const std::string &name, unsigned flags=flIsOwner) | |
RecordContainer (Reference parent, const std::string &name, unsigned flags=flIsOwner) | |
virtual bool | SaveTo (HStore &store, bool create_node=true) |
void | SetFieldsMap (RecordFieldsMap *newmap) |
Replaces existing fields map. More... | |
RecordFieldsMap * | TakeFieldsMap () |
Remove map and returns to the user. More... | |
Protected Member Functions inherited from dabc::Object | |
virtual void | _ChildsChanged () |
Method called when new childs are add or old are removed. More... | |
virtual bool | _DoDeleteItself () |
This method is called at the moment when DecReference think that object can be destroyed and wants to return true. More... | |
bool | _IsNormalState () |
Same as IsNormalState() but without mutex lock - user should lock mutex himself. More... | |
virtual Object * | CreateInstance (const std::string &name) |
Method used to create new item to be placed as child of the object. More... | |
void | DeleteThis () |
Method should be used by the object to delete itself. More... | |
virtual bool | DestroyByOwnThread () |
Internal DABC method, used to activate object cleanup via object thread Returns: false - object cannot be cleanup by the thread, true - thread guarantees that DestroyCalledFromOwnThread() will be called from thread context. More... | |
bool | DestroyCalledFromOwnThread () |
Internal DABC method, should be called by thread which was requested to destroy object. More... | |
void | FillFullName (std::string &fullname, Object *upto, bool exclude_top_parent=false) const |
Method used to produce full item name,. More... | |
bool | GetFlag (unsigned fl) const |
Return value of selected flag, not thread safe More... | |
bool | IsNormalState () |
Return true if object is in normal state. More... | |
unsigned | NumReferences () |
Return number of references on the object. More... | |
Object (const ConstructorPair &pair, unsigned flags=flIsOwner) | |
virtual void | ObjectDestroyed (Object *) |
Method called by the manager when registered dependent object is destroyed Should be used in user class to clear all references on the object to let destroy it. More... | |
Mutex * | ObjectMutex () const |
Returns mutex, used for protection of Object data members. More... | |
void | SetAutoDestroy (bool on=true) |
Set autodestroy flag for the object Once enabled, object will be destroyed when last reference will be cleared. More... | |
void | SetFlag (unsigned fl, bool on=true) |
Change value of selected flag, not thread safe More... | |
void | SetName (const char *name) |
Changes object name. More... | |
void | SetNameDirect (const char *name) |
Changes object name disregard of existing references. More... | |
void | SetOwner (bool on=true) |
Specifies if object will be owner of its new childs. More... | |
Protected Attributes | |
double | fAccDelay |
accounting spent time, when negative - record is active More... | |
std::string | fAllowedField |
name of field which is allowed to change in any state More... | |
std::string | fClientId |
identifier for client side More... | |
std::string | fConnId |
unique id for that connection, defined by the server (can be overwritten by device) More... | |
EState | fConnState |
actual state of the connection, is parameter value More... | |
Reference | fCustomData |
implementation specific data, managed by the device, cleanuped by the record when connection is destroyed More... | |
int | fInlineDataSize |
property of the port, if does not match, will be ruled by the server More... | |
std::string | fLocalUrl |
full url of local port More... | |
std::string | fPoolName |
pool which should be used for the connections More... | |
int | fProgress |
Command | fRemoteCmd |
command from remote, interpretation depends from the state More... | |
std::string | fServerId |
identifier for server side More... | |
double | fSetDelay |
set value for delay, will be activated first time timeout processing done More... | |
Protected Attributes inherited from dabc::ParameterContainer | |
bool | fAsynchron |
indicates if parameter can produce events asynchronous to the modification of parameter itself it is a case for ratemeters More... | |
bool | fAttrModified |
indicate if attribute was modified since last parameter event More... | |
bool | fDeliverAllEvents |
if true, any modification event will be delivered, default off More... | |
double | fInterval |
how often modified events are produced TODO: should we move it in the normal record field? More... | |
std::string | fKind |
specified kind of parameter (int, double, info, ratemeter), to be used by reference to decide if object can be assigned More... | |
TimeStamp | fLastChangeTm |
last time when parameter was modified More... | |
bool | fMonitored |
if true parameter change event will be delivered to the worker More... | |
double | fRateNumSum |
sum of accumulated counts More... | |
int | fRatePrec |
display precision of rate variable More... | |
double | fRateTimeSum |
sum of time More... | |
double | fRateValueSum |
sum of values More... | |
int | fRateWidth |
display width of rate variable More... | |
bool | fRecorded |
if true, parameter changes should be reported to worker where it will be recorded More... | |
EStatistic | fStatistic |
indicates if statistic is calculated: 0 - off, 1 - rate, 2 - average More... | |
bool | fWaitWorker |
if true, waiting confirmation from worker More... | |
Protected Attributes inherited from dabc::RecordContainer | |
RecordFieldsMap * | fFields |
Protected Attributes inherited from dabc::Object | |
int | fObjectBlock |
counter for blocking calls, as long as non-zero, non of child can be removed More... | |
ReferencesVector * | fObjectChilds |
list of the child objects More... | |
unsigned | fObjectFlags |
flag, protected by the mutex More... | |
Mutex * | fObjectMutex |
mutex protects all private property of the object More... | |
std::string | fObjectName |
object name More... | |
Reference | fObjectParent |
reference on the parent object More... | |
int | fObjectRefCnt |
accounts how many references existing on the object, thread safe More... | |
Friends | |
class | ConnectionManager |
class | ConnectionRequest |
class | ConnectionRequestFull |
class | Port |
Additional Inherited Members | |
Protected Types inherited from dabc::ParameterContainer | |
enum | EStatistic { kindNone , kindRate , kindAverage } |
Protected Types inherited from dabc::Object | |
enum | EFlags { flStateMask = 0x000f , flIsOwner = 0x0010 , flCleanup = 0x0020 , flHasThread = 0x0040 , flAutoDestroy = 0x0080 , flLogging = 0x0100 , flNoMutex = 0x0200 , flHidden = 0x0400 , flChildsHidden = 0x0800 , flTopXmlLevel = 0x1000 } |
Static Protected Member Functions inherited from dabc::Object | |
static ConstructorPair | MakePair (const std::string &fullname, bool withmanager=true) |
Internal DABC method, used to produce pair - object parent and object name, which is typically should be used as argument in class constructor. More... | |
static ConstructorPair | MakePair (Object *prnt, const std::string &fullname, bool withmanager=true) |
Internal DABC method, used to produce pair - object parent and object name, which is typically should be used as argument in class constructor. More... | |
static ConstructorPair | MakePair (Reference prnt, const std::string &fullname, bool withmanager=true) |
Internal DABC method, used to produce pair - object parent and object name, which is typically should be used as argument in class constructor. More... | |
Container for connection parameters.
Connection object configures properties of connection, which should be established for the port. One can create the only connection object for each port. Connection object is used by connection manager to establish connection with remote nodes. Connection object derived from parameter class and issues events, which can be catched by any worker in dabc. Such features used by connection manager to discover any changes in the connection and recover connection (if it is allowed by the port).
Definition at line 54 of file ConnectionRequest.h.
Definition at line 57 of file ConnectionRequest.h.
|
protected |
Definition at line 19 of file ConnectionRequest.cxx.
|
protectedvirtual |
Definition at line 37 of file ConnectionRequest.cxx.
|
protectedvirtual |
Reimplement virtual method of ParameterContainer to block field change if object in non-init state.
In some situation change is allowed via fAllowedField
Reimplemented from dabc::ParameterContainer.
Definition at line 41 of file ConnectionRequest.cxx.
|
protectedvirtual |
Reimplemented from dabc::ParameterContainer.
Definition at line 60 of file ConnectionRequest.cxx.
|
protected |
Change state of connection object.
State change can be observed by connection manager and it may start connection establishing. Only accessible by connection manager
Definition at line 85 of file ConnectionRequest.cxx.
|
protected |
Definition at line 79 of file ConnectionRequest.cxx.
|
inlineprotected |
Set delay how long record is inactive.
Timeout will be checked in ProcessTimeout routine. If SetDelay is called from this routine, one should specify force=true to reset time counter directly while time is accounted between two calls of ProcessTimeout method.
Definition at line 122 of file ConnectionRequest.h.
|
inlineprotected |
Function accounts time spent and returns true, if delay is not yet finished.
Definition at line 135 of file ConnectionRequest.h.
|
inlinevirtual |
Returns class name of the object instance.
In some cases class name used to correctly locate object in xml file
Reimplemented from dabc::ParameterContainer.
Definition at line 148 of file ConnectionRequest.h.
|
inlinestatic |
Definition at line 150 of file ConnectionRequest.h.
|
static |
Definition at line 65 of file ConnectionRequest.cxx.
|
friend |
Definition at line 69 of file ConnectionRequest.h.
|
friend |
Definition at line 70 of file ConnectionRequest.h.
|
friend |
Definition at line 71 of file ConnectionRequest.h.
|
friend |
Definition at line 72 of file ConnectionRequest.h.
|
protected |
actual state of the connection, is parameter value
Definition at line 74 of file ConnectionRequest.h.
|
protected |
full url of local port
Definition at line 76 of file ConnectionRequest.h.
|
protected |
pool which should be used for the connections
Definition at line 78 of file ConnectionRequest.h.
|
protected |
Definition at line 85 of file ConnectionRequest.h.
|
protected |
identifier for server side
Definition at line 87 of file ConnectionRequest.h.
|
protected |
identifier for client side
Definition at line 88 of file ConnectionRequest.h.
|
protected |
implementation specific data, managed by the device, cleanuped by the record when connection is destroyed
Definition at line 89 of file ConnectionRequest.h.
|
protected |
unique id for that connection, defined by the server (can be overwritten by device)
Definition at line 90 of file ConnectionRequest.h.
|
protected |
command from remote, interpretation depends from the state
Definition at line 91 of file ConnectionRequest.h.
|
protected |
property of the port, if does not match, will be ruled by the server
Definition at line 92 of file ConnectionRequest.h.
|
protected |
accounting spent time, when negative - record is active
Definition at line 96 of file ConnectionRequest.h.
|
protected |
set value for delay, will be activated first time timeout processing done
Definition at line 97 of file ConnectionRequest.h.
|
protected |
name of field which is allowed to change in any state
Definition at line 99 of file ConnectionRequest.h.