EPICS ARCHIVER V4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
Classes
Engine

Lock order constants. More...

Classes

class  ArchiveChannel
 One archived channel. More...
 
class  ArchiveChannelStateListener
 Listener for ProcessVariable state info. More...
 
class  CircularBuffer
 In-Memory buffer for values. More...
 
class  DisableFilter
 A filter to block samples while disabled. More...
 
class  Engine
 The base class of the archive engines. More...
 
class  EngineConfig
 Global engine configuration parameters. More...
 
class  WritableEngineConfig
 Modifyable global engine configuration parameters. More...
 
class  EngineConfigListener
 Listener to EngineConfigParser. More...
 
class  EngineConfigParser
 Reads the config from an XML file that should conform to engineconfig.dtd. More...
 
class  EngineLocks
 The archive engine. More...
 
class  EngineServer
 HTTP Server of the Engine. More...
 
class  GroupInfo
 A Group of channels. More...
 
class  HTMLPage
 Helper for printing a web page to a socket. More...
 
struct  PathHandlerList
 Used by HTTPClientConnection to dispatch client requests. More...
 
class  HTTPServer
 An in-memory web server. More...
 
class  HTTPClientConnection
 Handler for a HTTPServer's client. More...
 
class  Named
 Abstract base for a named thingy, does not actually contain the name. More...
 
class  NamedBase
 A named thingy. More...
 
class  ProcessVariable
 One process variable. More...
 
class  ProcessVariableContext
 Context for ProcessVariable instances. More...
 
class  ProcessVariableFilter
 A filter that a SampleMechanism can place between the ProcessVariable and its ProcessVariableListener implementation. More...
 
class  ProcessVariableStateListener
 Listener for ProcessVariable state info. More...
 
class  ProcessVariableValueListener
 Listener for ProcessVariable info. More...
 
class  ProcessVariableListener
 Listener for ProcessVariable info. More...
 
class  RepeatFilter
 A filter to combine successive matching samples into a 'repeat count'. More...
 
class  SampleMechanism
 Sample Mechanism base, has a ProcessVariable and filters its values. More...
 
class  Scannable
 Interface for something that can be placed on a ScanList. More...
 
class  ScanList
 A ScanList keeps track of Scannable items. More...
 
class  TimeFilter
 A filter to remove samples that go back in time or are too futuristic. More...
 
class  TimeSlotFilter
 Filter that passes one sample per time slot. More...
 
class  ArchiveChannelEA3
 Original archived channel. More...
 
class  EngineEA3
 The original archive engine. More...
 
class  SampleMechanismGetEA3
 Sample Mechanism that performs a periodic 'get'. More...
 
class  SampleMechanismMonitoredEA3
 Monitored Sample Mechanism. More...
 
class  SampleMechanismMonitoredGetEA3
 Sample Mechanism that stores periodic samples using a 'monitor'. More...
 

Detailed Description

Lock order constants.

When locking more than one object from the following list, they have to be taken in this order, for example: First lock the Engine, then an ArchiveChannel, then the ProcessVariableContext.

Classes in Tools like the ThrottledMsgLogger use locks with an order of 100 or higher.

Beyond the reach of this code are locks internal to the CA client library. Possible lock chains:

The basic PV/CA conflicts need to be handled by PV lock releases whenever calling CA.