Package equip.data

The core EQUIP data sharing facilities and data types.

See:
          Description

Interface Summary
DataDelegatePeerCancel Callback interface use with DataDelegatePeer to monitor unreliable update events cancelled in internal peer queues.
DATASPACE_SERVICE_TYPE service type (name/version) for a dataspace (see equip.discovery and equip.service
IDataStore The interface to a data item store, used internally by a DataDelegate to implement state storage within a dataspace replica.
 

Class Summary
ActiveTreeNode ItemData subclass that is actively notified (by the dataspace replica) when it is added to, updated in, or deleted from a dataspace replica.
AddEvent An event representing the addition of a ItemData instance to the dataspace.
AddEventImpl Implementation of IDL'd abstract class AddEvent
BooleanArray2DBox boxed 2D array of boolean
BooleanArray2DBoxImpl Implementation of IDL'd abstract class BooleanArray2DBox
BooleanArrayBox boxed array of boolean
BooleanArrayBoxImpl Implementation of IDL'd abstract class BooleanArrayBox
BooleanBox primitive boolean box type
BooleanBoxImpl Implementation of IDL'd abstract class BooleanBox
Browser2  
ByteArray2DBox boxed 2D array of byte
ByteArray2DBoxImpl Implementation of IDL'd abstract class ByteArray2DBox
ByteArrayBox boxed array of byte
ByteArrayBoxImpl Implementation of IDL'd abstract class ByteArrayBox
ByteBox primitive byte (IDL octet) box type
ByteBoxImpl Implementation of IDL'd abstract class ByteBox
Challenge challenge-response utility class
ChallengeType PeerChallengeEvent challengeType
CharArray2DBox boxed 2D array of char
CharArray2DBoxImpl Implementation of IDL'd abstract class CharArray2DBox
CharArrayBox boxed array of char
CharArrayBoxImpl Implementation of IDL'd abstract class CharArrayBox
CharBox primitive (IDL) char box type.
CharBoxImpl Implementation of IDL'd abstract class CharBox
DataBrowser  
DataBrowserFrame  
DataCallback Original event callback interface for DataProxy events; now largely superceded by DataCallbackPost and/or the IDataspace API.
DataCallbackImpl Default (do-nothing) implementation of IDL'd abstract class (interface) DataCallback; you should sub-class DataCallback or DataCallbackPost directly.
DataCallbackPost post-event callback interface, alternative to DataCallback, and normally more intuitive.
DataCallbackPostImpl Default (do-nothing) implementation of IDL'd abstract class (interface) DataCallbackPost; you should sub-class DataCallback or DataCallbackPost directly.
DataDelegate Main internal implementation of the DataProxy API; used by delegation in DataProxyImpl and Server.
DataDelegate.PostCallbackInfo nested class for post callback
DataDelegatePeer Internal implementation class; works with DataDelegate to handle a dataspace replica's association with another dataspace replica.
DataDelegatePeerTCP Internal implementation class; works with DataDelegatePeer and DataDelegate to handle the direct networking aspects of a single dataspace peer.
DataItemListener listens for EQUIP events for CityMack data types inner class ItemCallback is default and should be extended
DataManager Dataspace manager, the preferred factory for dataspace clients and servers.
DataManagerBrowser Browser for DataspaceManager to monitor active dataspaces in process.
DataProxy The main API for a dataspace replica, whether client or server.
DataProxyImpl The normal implementation of the IDL'd dataspace API, DataProxy; implements a dataspace client, delegating most of the work to an instance of class DataDelegate.
DataProxyTerminateTest test data proxy termination via Dataspace manager.
DataSession The interface used to register EventPatterns with a dataspace replica.
DataSessionImpl Implementation of IDL'd abstract class DataSession; delegates most operations to the corresponding DataProxy's DataDelegate.
DataspaceStatus The data association with a DataspaceStatusItem, which describes some of the internal state of a particular dataspace replica.
DataspaceStatusImpl Implementation of IDL'd abstract class DataspaceStatus
DataspaceStatusItem A data item created in its own dataspace by each dataspace replica to reflect aspects of its internal state.
DataspaceStatusItemImpl Implementation of IDL'd abstract class DataspaceStatusItem
DeleteEvent An event representing the deletion of a previously added ItemData instance from the dataspace.
DeleteEventImpl Implementation of IDL'd abstract class DeleteEvent
Dictionary A dictionary, ie a set of mappings from String to ValueBase.
DictionaryEntry a single entry in a Dictionary.
DictionaryEntryImpl Default implementation of IDL-defined abstract class DictionaryEntry
DictionaryImpl Default implementation of IDL-defined abstract class Dictionary
DoubleArray2DBox boxed 2D array of double
DoubleArray2DBoxImpl Implementation of IDL'd abstract class DoubleArray2DBox
DoubleArrayBox boxed array of double
DoubleArrayBoxImpl Implementation of IDL'd abstract class DoubleArrayBox
DoubleBox primitive double box type
DoubleBoxImpl Implementation of IDL'd abstract class DoubleBox
EquipConnector This object provides a simple connection to the Equip data service (this is effectively Tom's alternative to the IDataspace helper API).
EquipDataBrowser  
EquipProbe a simple EQUIP network probe to help with mobile networking tests.
Event The common base class for all dataspace events
EventImpl Implementation of IDL'd abstract class Event
EventMetadata metadata for a dataspace Event
EventMetadataImpl Implementation of IDL'd abstract class EventMetadata
EventPattern An ItemData subclass which represents a process's interest in a certain kind of event(s).
EventPatternImpl Implementation of IDL'd abstract class EventPattern
FileBackedMemoryDataStore Like MemoryDataStore, but attempts to persist dataspace contents through use of checkpoint and event log files.
FloatArray2DBox boxed 2D array of float
FloatArray2DBoxImpl Implementation of IDL'd abstract class FloatArray2DBox
FloatArrayBox boxed array of float
FloatArrayBoxImpl Implementation of IDL'd abstract class FloatArrayBox
FloatBox primitive float box type
FloatBoxImpl Implementation of IDL'd abstract class FloatBox
GUID new globally unique id (IDL'd in eqDataTypes.idl)
GUIDFactory A singleton instance of this class should be used to allocate new GUIDs (IDL'd in eqDataTypes.idl).
GUIDFactoryImpl The concrete implementation of the IDL'd GUID factory class GUIDFactory.
GUIDImpl Implementation of IDL'd abstract class GUID
IntArray2DBox boxed 2D array of int (IDL long)
IntArray2DBoxImpl Implementation of IDL'd abstract class IntArray2DBox
IntArrayBox boxed array of int (IDL long)
IntArrayBoxImpl Implementation of IDL'd abstract class IntArrayBox
IntBox primitive int (IDL long) box type
IntBoxImpl Implementation of IDL'd abstract class IntBox
ItemBinding The link between an ItemData and its dataspace.
ItemBindingImpl Implementation of IDL'd abstract class ItemBinding
ItemBindingInfo Metadata for an ItemBinding, which is the link between an ItemData and its dataspace.
ItemBindingInfoImpl Implementation of IDL'd abstract class ItemBindingInfo
ItemData The common base class for all objects that can be shared statefully in a dataspace (DataProxy).
ItemDataImpl Implementation of IDL'd abstract class ItemData
ItemEventKind The 'kind' of an AddEvent or DeleteEvent.
ItemEventKindBox A primitive value of type ItemEventKind wrapped in an object for pattern matching wildcarding
ItemEventKindBoxImpl Implementation of IDL'd abstract class ItemEventKindBox
ItemFrame  
ItemLeaseTest ItemLeaseTest.
ItemMutator An object representating a 'mutation', that is a programmatic modification to a data item.
ItemMutatorImpl Implementation of IDL'd abstract class ItemMutator; currently NOT implemented!
ItemTableModel  
Lease A Lease, c.f.\ Jini (IDL'd in eqDataType.idl).
LeaseImpl Implementation of IDL'd abstract class Lease; REQUIRES synchronized clocks
LockType Possible lock types applicable to ItemData; not currently used!
LongArray2DBox boxed 2D array of long (IDL long long)
LongArray2DBoxImpl Implementation of IDL'd abstract class LongArray2DBox
LongArrayBox boxed array of long (IDL long long)
LongArrayBoxImpl Implementation of IDL'd abstract class LongArrayBox
LongBox primitive long (IDL long long) box type
LongBoxImpl Implementation of IDL'd abstract class LongBox
MemoryDataStore Core implementation of IDataStore interface which can hold any data items in memory (only).
MemoryDataStore.LeasedItem  
MutateEvent An event representating a 'mutation', that is modification in place to a data item previously added to the dataspace (NB Not currently implemented - June 2003).
MutateEventImpl Implementation of IDL'd abstract class MutateEvent; NB NOT currently implemented
OwnershipRequest An event representing a request for a change of data item ownership (not currently supported - June 2003)
OwnershipRequestImpl Implementation of IDL'd abstract class OwnershipRequest
OwnershipResponse An event representing the response to an OwnershipRequest event (not currently supported - June 2003)
OwnershipResponseImpl Implementation of IDL'd abstract class OwnershipResponse
PeerAckData Interal - data relating to a PeerAckEvent
PeerAckDataImpl wait for remote events to be processed - NB internal
PeerAckEvent Internal event - requesting a round-trip acknowledgement from a peer, thereby ensuring that all previously sent events will have reached and been processed by that peer.
PeerAckEventImpl wait for remote events to be processed - NB internal
PeerAddPatternsEvent Iternal event - expression of interest in items and events to a peer; used to propagate non-local EventPatterns.
PeerAddPatternsEventImpl Implementation of IDL'd abstract class PeerAddPatternsEvent
PeerChallengeEvent Internal event - security challenge on new connection or association between two dataspace replicas
PeerChallengeEventImpl Implementation of IDL'd abstract class PeerChallengeEvent
PeerConnectEvent Internal event - starting a new connection or association between two dataspace replicas
PeerConnectEventImpl Implementation of IDL'd abstract class PeerConnectEvent
PeerDeletePatternsEvent Iternal event - removal of previous expression of interest to a peer (see PeerAddPatternsEvent); used to mark removal of non-local EventPatterns.
PeerDeletePatternsEventImpl Implementation of IDL'd abstract class PeerDeletePatternsEvent
PeerDisconnectEvent Internal event - request to remove a peer, terminating a dataspace replica association.
PeerDisconnectEventImpl Implementation of IDL'd abstract class PeerDisconnectEvent
PeerEvent Internal events - between dataspace replicas that are connected/peered (including client to and from server)
PeerEventImpl Implementation of IDL'd abstract class PeerEvent
PeerPolicy internal item class reflecting some sort of policy of this dataspace replica.
PeerPolicyImpl Implementation of IDL'd abstract class PeerPolicy
RemoveResponsible Iternal event - generated by the system when it detects that a connected dataspace replica has terminated its association through a network failure or lease expiration.
RemoveResponsibleImpl Implementation of IDL'd abstract class RemoveResponsible
ReplicateRequest Internal event - a direct request for replication (not used).
ReplicateRequestImpl Implementation of IDL'd abstract class ReplicateRequest
SampleExtensionTypeImpl Example of extending from TupleImpl for non-IDLd but readable classes.
SerializedObject holder for a serialized native language object.
SerializedObjectImpl Implementation of IDL'd abstract class SerializedObject
Server The normal implementation of the IDL'd dataspace API, DataProxy as a dataspace server, delegating most of the work to an instance of class DataDelegate.
ShortArray2DBox boxed 2D array of short
ShortArray2DBoxImpl Implementation of IDL'd abstract class ShortArray2DBox
ShortArrayBox boxed array of short
ShortArrayBoxImpl Implementation of IDL'd abstract class ShortArrayBox
ShortBox primitive short box type
ShortBoxImpl Implementation of IDL'd abstract class ShortBox
StringArray2DBox boxed 2D array of string
StringArray2DBoxImpl Implementation of IDL'd abstract class StringArray2DBox
StringArrayBox boxed array of string
StringArrayBoxImpl Implementation of IDL'd abstract class StringArrayBox
StringBox primitive string box type
StringBoxImpl Implementation of IDL'd abstract class StringBox
TreeNode The common base class for all shared ItemData subclass that are organised as trees
TreeNodeImpl Implementation of IDL'd abstract class TreeNode
Tuple The generic tuple type.
TupleEvent The generic tuple EVENT type.
TupleEventImpl Implementation of IDL'd abstract class TupleEvent
TupleImpl Implementation of IDL'd abstract class Tuple
TupleTest A version of the standard dataspace demo app (see equip.data) using the DataProxy 'low-level' API but with generic tuple data items (Tuple) rather than custom IDL'd data types.
UpdateBindingEvent An event representing a change in a data item's ItemBindingInfo (not currently supported - June 2003).
UpdateBindingEventImpl Implementation of IDL'd abstract class UpdateBindingEvent
UpdateEvent An event representing the update of a previously added ItemData instance in the dataspace; replaces the previous item value with the new value in the event.
UpdateEventImpl Implementation of IDL'd abstract class UpdateEvent
ValueBaseArrayBox generic ValueBase array box type
ValueBaseArrayBoxImpl Implementation of IDL'd abstract class ValueBaseArrayBox
 

Exception Summary
DataStoreConfigurationException  
 

Package equip.data Description

The core EQUIP data sharing facilities and data types.

One of EQUIP's main facilities is its 'dataspace' event and state-sharing system. This combines ideas from TupleSpaces, event publish/subscribe systems (such as Elvin) and Collaborative Virtual Environments (such as MASSIVE-3).

The result is tightly integrated sharing of events and/or state, optimised for interactive applications (e.g. latencies around 50-100ms, throughputs of 10s to 100s of events per second) over various networks including wireless, at the expense (for now at least) of strong distributed consistency.

Note that the module equip_data_beans (see equip.data.beans) provides a higher-level (Java only) API and other supporting beans for using dataspaces. This is an easier place for Java programmers to start. Note that the modules equip_data_Browser (an old dataspace browser; see DataBrowser) and equip_data_Browser2 (a newer - and recommended - dataspace browser; see Browser2) also contribute classes to this package, as well as the equip_data module.

Note that the module equip_data_ReadFile provides a (currently C++ only) application to read data items from an ASCII serialisation file and insert them into a specified dataspace. (A Java version requires the porting of the ASCII input and output streams from C++ to Java.)

Note that the module equip_data_Server provides the C++ (only) dataspace server application. The Java dataspace server (which is currently better than the C++ version in features and performance) is included in this module/package (Server).

Starting points:

Security

Mutual authentication between dataspace server and client can be performed based on a 3-way mutual challenge for a shared secret. The secret can be specified either in the equip config "DataspaceSecret", or using a java property of the same name (which takes precedence). Currently only a single shared secret per process is supported.