All Classes and Interfaces

Class
Description
Abort any pending requests for archiving this PV.
Abort any pending requests for archiving this PV in this appliance.
 
Add a external Archiver Data Server into the system.
Add Channel Archiver archives.
If the post processor needs to send some data after all the streams have been processed, this is the hook.
Gets the optimized aggregate typeInfo information for this appliance.
Get the status and severity of this event.
Thrown if a PV is already registered to another appliance
Appends the data for an older PV into a newer PV.
Companion class to PlainStoragePlugin that handles the appending of event streams in a partition-aware fashion.
POJO facilitating various optimizations for BPL that uses appliance wide information.
 
Information specific to an appliance
Summary appliance metrics for the engine.
Gets the ETL appliance metrics
Summary metrics for an appliance.
Summary metrics for retrieval for an alliance.
Detailed appliance metrics for the engine.
Get the metrics details for an appliance for ETL.
Detailed metrics for an appliance
Detail metrics for retrieval for an alliance.
Parses the appliances.xml file and loads the appliances
The various DBR types supported by the EPICS appliance archiver.
Base for archived channels.
Use this to debug any connectivity issues in the engine.
Given a list of PVs, determine those that are being archived.
 
Given a list of PVs, determine those that are being archived but are not in the incoming list.
This class provides the static methods: create channel get pv meta data before archiving this pv pause archiving pv resume archiving pv get metics of one pv change the archival parameter of one pv destory pv
BPL for archiving a PV.
State for the archive PV workflow
 
Use this to throw configuration related exceptions.
Quick handler to parse archiver.values returns.
 
SAX2 for handling archiver.archives.
Interface for writing samples to an archive
Factory for obtaining an ArchiveWriter
This is a replacement for NIO Paths that caters to our syntax rules.
 
This is a ServletContextListener expected to be registered in web.xml that serves as the source of dependency injection.
Send a true/false if we are archiving the given PV or not.
An event stream that wraps an ArrayList event stream; use this if the data in your consolidated results do not fit a clean binning pattern and you need to return results that span multiple years.
Implements an event stream on top of an arraylist
 
Running (exponential) average
Exception to return a bad request when a problem happens handling a pvAccess request through a PvaAction interface
All the main units of work in the appliance that deal with plugins pass in a context that can be used to hold state that pertains to the unit of work.
Glue code that is in all the BPL servlets.
 
 
A storage plugin that deletes all data that goes into it.
A very simple struts like action for business processes.
The main business logic servlet for the engine.
The main business logic servlet for ETL.
The main business logic servlet for mgmt.
The main business logic servlet for retrieval.
Some utility methods for bulk pause and resume...
 
A version of byte[] that is used to provide some optimization for data retrieval and the like.
A sample value that encapsulates a byte buffer.
Encapsulates an event stream into a callable.
Primary capacity planning logic for the default capacity planning as outlined in the doc.
Data from various appliances that is used for capacity planning.
 
Approx implementation of ChannelArchiver plotbinning for Michael Davidsaver From the doc If there is no sample for the time span of a bin, the bin remains empty. If there is one sample, it is placed in the bin. If there are two samples, they are placed in the bin If there are more than two samples, the first and last one are placed in the bin.
 
Change the archival parameters for a PV.
External integrations may not have the same contract as PB the plugin re year partitions.
Change the name of the PV in the PB file.
 
 
 
POJO that contains Channel Archiver Data Server information.
As part of archiver.names, the ChannelArchiver XMLRPC server also returns the first and last timestamp.
Get a list of all Channel Archivers that we know about.
A storage plugin that can front a Channel Archiver Data Server.
 
This is a reasonably dangerous call.
POJO with some basic metrics.
Return the current and max depth of the JCA command queues.
A comparator for PB events that is used in searching.
This is a special kind of comparison function meant for a combo binary/linear search function.
 
Compares a specified period with data obtained from the channel archiver
 
Interface for persisting configuration These are the pieces of configuration - all of these are key/value; keys are strings, values are typically JSON strings or plain strings.
Interface for appliance configuration.
 
 
 
 
 
Return connected/disconnected/paused PV counts as a JSON object.
consolidate PB files for one pv before one storage
 
Handler for JCA Context errors and messages; places them in log.
PV's that can control the archiving of other PV's will need to implement this interface.
 
A conversion function takes in a EventStream and gives you another EventStream that is based on this EventStream.
Utility class to convert a file from one PlainStorageType to another.
Most labs use a standard character (typically the ":" or the "-" character) in their naming conventions to separate out the components of a name.
Counts the number of items in an interval.
Utility for counting the number of events in a PV file.
Creation time and paused status of all PVs in this appliance
 
An event stream backed by a CSV file.
 
 
An ExecutorService that runs everything on the current thread.
Expands the results from a Reader using the current thread.
 
Similar to the reader interface, this is the main retrieval interface.
Main servlet for retrieval of data.
Represents a data source for data for a PV
 
Helper for dealing with DBR..
A static utility class that provides a mapping between EPICS ArchDBRTypes and their corresponding Google Protobuf Message classes.
Maps ArchDBRTypes to PB classes.
 
A catch all interface that contains the attributes in a EPICS DBR_TIME_XXX from db_access.h.
The intent is to mimic ADEL; this is principally targeted at decimation Like ADEL, it applies only to scalar numbers.
This is the default config service for the archiver appliance.
 
 
This is the "default" post processor that does nothing to the underlying event stream.
 
consolidate PB files for one pv before one storage
 
An ArchiveChannel that stores each incoming value that differs from the previous sample by some 'delta'.
 
 
A report based on the number of events dropped based on buffer overflows.
 
A report based on the number of events dropped based on incorrect timestamps from the IOC.
 
A report based on the number of events dropped based on changes in PV type.
Layer on top of Apache Commons Compress TarArchiveEntry and TarArchiveInputStream.
An empty event interator.
Instead of returning null, in some cases, it may be more convenient to return a EventStream with no events
POJO for engine status for a PV
Ability to import a ChannelArchiver engine config file.
the context for the Archiver Engine
Go thru all the contexts and return channels whose names match this This is to be used for for testing purposes only.
POJO with some basic metrics.
EPICS ChannelAccess implementation of the PV interface.
Sourced from org/csstudio/platform/libs/epics/EpicsPlugin.java
 
Separate out the JCA/EPICS v4 => PB mapping into a separate class so that clients (read ArchiveViewer) do not have to include the entire JCA/EPICS v4 jars.
 
Protobuf type EPICS.FieldValue
Protobuf type EPICS.FieldValue
 
A payload info is the first line in a chunk of data sent back to the client.
A payload info is the first line in a chunk of data sent back to the client.
 
An enumeration that indicates what PB message should be used to unmarshall the following chunk of data This is a copy of ArchDBRTypes and the numbers must match the integermap in ArchDBRTypes for the reverse lookup to work Look at DBR2PBTypeMapping to see how we can construct a hashmap that unmarshalls an appropriate language type based on this enum.
Protobuf type EPICS.ScalarByte
Protobuf type EPICS.ScalarByte
 
Protobuf type EPICS.ScalarDouble
Protobuf type EPICS.ScalarDouble
 
Protobuf type EPICS.ScalarEnum
Protobuf type EPICS.ScalarEnum
 
Protobuf type EPICS.ScalarFloat
Protobuf type EPICS.ScalarFloat
 
Protobuf type EPICS.ScalarInt
Protobuf type EPICS.ScalarInt
 
Protobuf type EPICS.ScalarShort
Protobuf type EPICS.ScalarShort
 
Protobuf type EPICS.ScalarString
Protobuf type EPICS.ScalarString
 
A generic v4 container; we simply store the bytes as obtained from EPICS v4 as the val.
A generic v4 container; we simply store the bytes as obtained from EPICS v4 as the val.
 
VectorChar is the same as ScalarChar as we use ByteString for both
VectorChar is the same as ScalarChar as we use ByteString for both
 
Protobuf type EPICS.VectorDouble
Protobuf type EPICS.VectorDouble
 
Protobuf type EPICS.VectorEnum
Protobuf type EPICS.VectorEnum
 
Protobuf type EPICS.VectorFloat
Protobuf type EPICS.VectorFloat
 
Protobuf type EPICS.VectorInt
Protobuf type EPICS.VectorInt
 
Protobuf type EPICS.VectorShort
Protobuf type EPICS.VectorShort
 
Protobuf type EPICS.VectorString
Protobuf type EPICS.VectorString
 
A ParquetWriter for EPICS Archiver Appliance data.
 
A Parquet write support for EPICS Archiver Appliance data.
Similar to the mean operator; in additon, the stdz is passed in as an extra column
Event streams can optionally implement bulk transfer friendly methods.
A class to hold state for one run of ETL.
An ETL dest is data source that can act as a sink for ETL.
Run ETLs for one PV; mostly for unit tests..
A POJO that encapsulates all the information needed about a stream from an ETL source
 
 
An ETLJob does the actual work of moving data from one data source to another.
 
ETL metrics for the appliance as a whole into one destination
 
ETL Parquet files stream, provides access to the list of parquet files for combination.
Event streams can optionally implement bulk transfer friendly methods.
 
An ETL source is data source that can act as a source for ETL.
ETL in the EAA often consists of multiple stages.
 
 
We can potentially get a large number of ETLInfo objects when performing ETL for the first time.
An event represents an archiver sample.
 
Interface that defines the contract for writing events to a file.
Report for PVs by event rate.
Event rate report.
An event stream is a sequence of events in temporal order.
 
An event stream should also support this additional information about the stream.
 
Comminucate exceptions as part of the mime response.
Given the information computed by the engine about the PV, compute the archiving policy using policies.py Information to the policies.py is passed in as a dictionary with these keys dbrtype -- The ArchDBRType of the PV eventRate -- The sampled event rate in events per second. eventCount -- The total number of events. storageRate -- The sampled storage in bytes per seconds. aliasName -- The value of the .NAME field for aliases policyName -- If the user has overridden the policy when requesting archiving, this is the name of the policy All the extra fields are use the fieldName as the key (for example, ADEL comes in as .ADEL).
Export the archiving configuration (PVTypeInfo's) as a JSON file.
Export the archiving configuration (PVTypeInfo's) for this instance as a JSON file.
This is the reverse of ImportCSV.
A post processor that looks for fields
EPICS PVs have additional fields like HIHI, LOLO etc that occasionally change.
Main purpose is to hold a cache of a pvaStructure as a flat map from string to string.
An EventStream that is backed by a single PB file.
 
An iterator for a FileBackedPBEventStream.
An iterator for a FileBackedPBEventStream.
This is a variant of binary search that searches for an event in a event stream file.
 
Add ability for PostProcessors to support optional behavior where we fill empty bins with values from the previous bins.
This is similar to the summary stats collector except we keep aspects of the original event stream like dbr_type and so on.
Given a list of PV's in the POST, filter these to those that are being archived in this cluster.
Similar to the firstSample operator with the exception that we alter the timestamp to the middle of the bin and copy over the previous bin's value if a bin does not have any samples.
This takes "interval" argument and returns only the first sample in that interval...
This is a copy of ignore fliers with the comparision sign reversed.
Test response of action script+XML with large data sets For now this is only for one PV.
Generic reporting class to call all the appliances with a particular URL and then return the results.
We collect many metrics during archiving in the PVMetrics objects.
 
 
 
 
Get various appliance properties as name/value constructs mostly for the UI.
 
Get a client configuration JSON file given the file name.
 
PV for getting the data for multiple PV's from the engine's buffers at a particular time.
PV for getting the data for a PV from the engine's buffers
 
Get the latest metadata from the various sources within the engine..
Get matching PV's for this appliance.
 
Get a list of PVs for this appliance that are paused as a JSON array
 
Returns the text of the policies for this installation as a text file...
Gets information about the PV from PVTypeInfo, the engine and other places Gets information about the PV from PVTypeInfo, the engine and other places pv - The name of the pv.
Get a list of PVs for this appliance as a JSON array
Get the status of a PV.
Gets the type info for a PV as a JSON object
 
Gets the names of the data stores for this PV.
Small utility for getting the contents of an URL as various things
Get the version from the version.txt file.
 
We get a HashMap of NVPairs from the Channel Archiver - this class exposes these as an archiver Event We typically get secs=1250696265, value=70.9337, sevr=0, nano=267115322, stat=0
Ignores data that is more than the specified amount of std deviation from the mean.
Use this to import a Channel Archiver configuration file using HTTP POST.
Import configuration from an exported file Send the exported file as the body of the POST.
Import configuration from an exported file for this appliance...
Simple import of a CSV file into storage plugin.
Import data using another plugin given the plugin definition URL for a PV and store in the specified store.
SAX2 for handling archiver.info
Dummy in memory persistence layer for unit tests
An EventStream that is backed by an arbitrary input stream.
The iterator for the InputStreamBackedEventStream
 
 
 
 
 
Checks if all timestamps in the first file are present in the second file Can be used to validate if a merge/splice operation was successful.
Mapping between ArchDBRTypes and DBRType
 
Read the system environment and generate a JCA config stream As of today, this seems to be a more visible way to configure JCA for this project than hidden files or other schemes We'll see how this stands the test of time.
Attempt to distribute the load of serializing the event across multiple threads All events that have a Channel as the source are sent to a thread based on the hash of the pv name.
Uses JDBM2 as a persistence layer; probably not for production installations as JDBM2 does not support concurrent access and so on.
Implements SummaryStatistics.getStandardDeviation()/SummaryStatistics.getMean()
 
 
Generate something that marshalls JSON into a POJO using bean introspection.
Generate something that converts a POJO into JSON using bean introspection.
 
Implements the kurtosis over a bin.
Similar to the firstFill operator with the exception that we use the last sample in the bin.
Get the last known timestamp for all PV's.
Similar to the firstSample operator with the exception that we use the last sample in the bin.\
Implements the arithmetic mean across an interval
This class wraps a RandomAccessFile and returns byte arrays separated by lines.
When using a MultiFileEventStream on a HOUR granularity, we could potentially run into "too many open files" issues.
Simple class to escape/unescape newlines in binary data.
An exception thrown by the LineByteStream when we encounter lines that are too long.
Lists all the channels that are currently active
Implements the arithmetic mean across an interval
 
 
 
Generate a ".mat" matlab file The response contains two objects, a header and a data object.
Implements the max item in an interval
Implements the arithmetic mean across an interval
Implements the median over a bin.
EventStream that is constructed with two source EventStream's ( for the same PV ) and then return's a merged-deduped stream of Events.
The MergeDedupStoragePlugin is primarily meant for achieving a small amount of failover in the archiving of a PV.
This is almost idential to the MergeDedupEventStream; expect it takes as its first argument a list of EventStream callables which it then merges with the second EventStream
 
Merge two Plain files for the same PV and year into the third file.
Callback once we determine various attributes of the PV.
Utility class for dealing with metafields as part of responses.
this class is used to create channel for pv and compute the meta info for one pv.
Details for the PV's that are currently in METAINFO_REQUESTED requested state in the archive workflow.
Reports for PVs that never connected.
this class is used for getting the meta data
 
 
Get the metrics for this management instance.
Make sure all the other web apps have started and if so, send them their post startup messages...
Runtime state for the mgmt app.
Make sure that the webapp has completely started up before we allow any UI actions..
A set of events for classes that convert event streams to mime specific responses.
Constants for mime types
Implements the min item in an interval
Thrown when we have a mismatch in what config tells us and what a stream tells us.
 
Modifies the specified store for this PV using the new definition.
An ArchiveChannel that stores each incoming value.
An eventstream that spans multiple PB files.
The iterator for MultiFilePBEventStream's All we do is go thru the streams in sequence and then return the events one after the other.
Persistence layer ontop of MySQL TEXT(blobs) on InnoDB Bear in mind, an untuned mysql server does poorly in terms of performance.
 
 
 
SAX2 for handling archiver.names
 
NCount is a post processor which returns number of samples in a selected time span.
Report for PVs never connected.
 
An InputFile implementation that only uses java.nio.* interfaces for I/O operations.
Thrown when a reader has no data for a particular time frame and particular PV.
This pings the mgmt web app to let it know that we have started up.
 
Nth is a post processor which returns every n-th value.
A helper class to easily extract value from nt structures
Optimized expects one parameter at initialization, which is the number of requested points.
OptimizedWithLastSample expects one parameter at initialization, which is the number of requested points.
How should ETL deal with running out of space in the dest? Should we delete the source streams? This would mean that we would lose data.
A stateful class that manages the process of writing and appending EPICS event data to Parquet files.
An EventStream implementation that reads data from one or more Parquet files.
An implementation of EventStreamIterator that reads from a Parquet reader.
A specialized ETLInfoListProcessor optimized for processing Parquet files.
 
An implementation of FileInfo for Parquet files.
 
 
An implementation of PlainFileHandler that uses the Parquet file format for storing and retrieving EPICS event data.
All the PB classes also implement this version of timeinfo.
A small enum for defining the granularity of the partition.
A utility class with a bunch of methods that operate on the path names used by the PlainPB storage plugin.
The PlainPBStorage plugin has a naming scheme that provides much information.
 
 
Generate a report of PVs that are currently paused.
Pause all PVs; this does not update PVTypeinfo.
 
Companion class to PlainStoragePlugin that handles the appending of event streams in a partition-aware fashion.
 
Centralises protobuf parse-and-recover logic for all 14 PB event type classes.
An iterator for a FileBackedPBEventStream that can go backwards in time
Gets some information about PB files.
A read-only storage plugin that gets data using the PB/http protocol from a server.
We convert PB exceptions into a runtime exception to minimize the number of IOExceptions in the method declarations.
 
Mimeresponse for PB over HTTP.
A DBRTimeEvent for a scalar byte.
* A DBRTimeEvent for a scalar double.
A DBRTimeEvent for a scalar enum.
A DBRTimeEvent for a scalar float.
A DBRTimeEvent for a scalar int.
A DBRTimeEvent for a scalar short.
A DBRTimeEvent for a scalar string.
Holds runtime state for ETL.
TypeSystem for SLAC PB types.
A DBRTimeEvent that wraps a V4 struct.
A DBRTimeEvent for a vector byte.
A DBRTimeEvent for a vector double.
A DBRTimeEvent for a vector enum.
A DBRTimeEvent for a vector float.
A DBRTimeEvent for a vector int.
A DBRTimeEvent for a vector short.
A DBRTimeEvent for a vector string.
Parser for scan or update periods
Implements a ping for the archive viewer.
A stream creator that is backed by a single file.
 
The plain PB storage plugin stores data in a chunk per PV per partition in sequential form.
Lists possible file extensions for this plugin.
 
A simple POJO that implements the event interface.
A PolicyConfig object is typically the right hand side of a policy.
 
Small easy to use profiler.
Implements the SummaryStatistics.getPopulationVariance
The interface for retrieval post processors.
Factory class for post processors.
Some post processors implement a consolidated event stream.
 
 
Print the timestamp of the first and last sample in a PB files/PB files in a directory
 
 
Maintains a days worth of a limited number of predefined process metrics.
 
Combine the process metrics from the various wars and send as json.
Called as part of the javadoc task; This loads the javadoc generated file docs/api/mgmt_scriptables.txt and uses it to generate the docs/api/mgmt_scriptables.html document.
Small utility class to proxy mgmt BPL to appliance other than this appliance.
Generic POJO for pubsub events within this cluster..
Puts a client configuration JSON file given the file name.
Updates the type info for a PV.
A control system PV.
Wrapper around the RPCService for the Archiver
Exception for a generic error during the handling of a pvAccess RPC request using PvaAction
Add one or more pvs to the archiver.
 
 
Get all the PVs in the cluster.
Given a list of PVs, determine those that are being archived.
 
Get the status of a PV.
Implementation of the Merge/Dedup algorithm for combining EventStreams into one EventStream.
PVAccess API to the Mgmt Service
The response is an array of PV elements, each PV has a meta and data section.
A servlet registered with the mgmt web.xml to be initialized with the context provided by ArchServletContextListener
Represents the configuration for a single PV in the engine config file.
 
Handle PV context, pool PVs by name.
 
 
Details of a PV
Gets the ETL details of a PV.
Detailed statistics for a PV.
Gets the Retrieval details of a PV.
 
A listener for PV updates.
PVMetrics includes the dynamic information of the pv
Utility class for dealing with various aspects of EPICS PV names and Channel Names.
 
Interface for converting a PV name to something that forms the prefix of a chunk's key.
 
 
 
 
Small utility class for listing PVs that match a parameter
BPL for getting the status of a PV.
Somewhat static information about a PV like it's type info, graphic limits, event rates etc.
Called when add/remove/update's are made on PVTypeInfo's
 
 
 
Client side class for retrieving data from the appliance archiver using the PB over HTTP protocol.
Small utilty to read a .pb file as the specfied DBR type.
The main data retrieval interface; this is used to get an EventStream for events for one PV between a start and an end time.
Change the appliance for a PV.
Generate a report of PVs that were recently added into the system.
Generate a report of PVs recently added to this instance....
Generate a report of PVs that were recently changed.
 
Uses redis as a persistence layer.
Call the config service to refresh the PV data from ChannelArchivers.
Information about the whole stream that is often used in generating headers etc...
This is applicable to EventStreams.
 
Remove the entry for a external Archiver Data Server from the config database Note that the entire cluster may need to be restarted for this change to take effect.
 
 
Each retrieval component in a cluster caches the PV's from remote failover appliances.
Reshards the PV to another appliance.
Exception for handling request in PvaAction when the reponse cannot be constructed for whatever reason is thrown.
Restart the archive PV workflow for this thread.
 
 
The DataRetrieval interface is a streaming interface with out-of-band events on the stream being passed as events on this interface.
 
Result of a retrieval.
This is currently the code that remotes an event stream, for example from the engine etc.
 
A modification of LineByteStream optimized for reading a PB chunk backwards in time Based off of dpetruha's answer here - https://stackoverflow.com/questions/8664705/how-to-read-file-from-end-to-start-in-reverse-order-in-java
Implements the RMS across an interval
Buffer for the samples of one channel.
Archive engine sample mode description
 
Get the value of this event.
Some additional info pertaining to the process of archiving.
An implementation of SampleValue for scalar strings.
An implementation of SampleValue for scalar numbers.
An ArchiveChannel that stores value in a periodic scan.
 
Seek to a position in the file and then print some info about each event.
 
 
An event typically used in the unit tests.
An EventStream that backed by a generator.
Iterator for the SimulationEventStream
Simple interface for a class that can be used to generate event streams based on some function.
Generates a sine wave with a default period of one hour and a specifiable offset.
Implementation of a CSV response for a single PV Currently, we are restricting the CSV response to only one PV.
Implements the skewness over a bin.
 
Make a copy of the specified Plain file only including the samples between the specified timestamps.
 
A report that looks at the potentially slow changing PV's that have dropped events.
Implements the RMS across an interval
Serves static content in the web app...
Statistics is a post processor which provides a set of statistical numbers for a specific bin.
Walks a directory and looks in the PB files and determines the most common status and severity codes....
 
Interface providing details for the storage metrics pages...
Performance optimization for storage metrics methods.
 
The main interface for a storage plugin; this is an object that implements the reader and the writer interfaces.
Parses a URL representation of a storage plugin.
Report for PV by storage rate
A report on PVs based on their storage rates.
 
 
 
 
Utility class with method to push an EventStream into an OutputStream
The SummaryStatsPostProcessor uses instances of this interface to compute statistical summaries
The SummaryStatsPostProcessor uses instances of this interface to serve additional columns.
An event stream over a list of SummaryStatsCollectors; typically used by post processors that return consolidated results.
Abstract class for various operators that operate on a SummaryStatistics Child classes implement the getIdentity and the getStats method.
SummaryStatsCombinedCollector is a collector, which provides a set of numbers (statistical results) rather than just a single value.
 
Small utility to sync the headers and footers from index.html to the other html files.
 
Encapsulates both the tar entries in a tar file and also the inputs to the tar file
An NIO2 file system that encapsulates a tar file containing gzipped pb files.
Like the JDK's jar plugin, each tar file is a separate file system.
A TarPath consists of the tar file ( represented by the fileSystem ) and the entry in the tar file.
Wraps a SeekableByteChannel to present a read only view of the tar entry.
Wraps a SeekableByteChannel and takes some actions when the channel is closed.
A human readable text response; mostly to be used for debugging etc.
Throttle that only permits a certain number of events.
Logger that only allows a certain message rate.
Generic class for some standard type conversions.
Simple time span class with start and end times.
Post processors can optionally implement this interface if the implement timespan specific functionality
A TimeSpan + PostProcessor used for time dependent sparsification.
An EventStream that wraps another event stream but limits the data to samples greater than or equal to a specified start time and less than or equal to a specified end time.
Archiving time span.
There are various versions of timestamps in the archiver appliance.
Returns raw data for the previous two weeks and uses FirstSamplePP for the rest.
Interface for translating from JCA to Event (actually DBRTimeEvents).
Given a list of PVs, determine those that are not being archived/have pending requests.
 
Use this to upload a Channel Archiver configuration file.
 
Some utilities for parsing URI's
 
Various options that the user can specify for archiving a PV.
Validate every line in a PB file by unmarshalling it and accessing the timestamp.
Various validations for a PB file.
 
Implements the SummaryStatistics.getVariance
An implementation of SampleValue for vector strings.
An implementation of SampleValue for vector numbers.
List of all the waveforms being archived.
All the waveforms that are currently being archived.
The other web apps tell the mgmt webapp when they have started using this call.
Compressed files typically do not let us seek arbitrarily within the stream.
Interface for writing samples to a channel in the archive
The main data consumption interface, this represents objects which take an event stream and write it to a (potentially permanent) store.
WriterRunnable is scheduled by the executor in the engine context every writing period.
A class that handles the XML-RPC portion of an existing channel archiver instance.
Our layer on top of STAX; similar to DefaultHandler with the exception of the boolean to indicate pause/resume processing.
Callback once year changes
This is a version of a timestamp that breaks down time into a short year, a signed int secondsintoyear and a signed int nanos This is the format that is used internally in the protocol buffers storage plugin.