The Soss.Client.Concurrent collection contains the NamedMap API, which is optimized for the efficient storage of large numbers of small objects--this allows objects to be analyzed in bulk very quickly using ScaleOut's Parallel Method Invocation (PMI) engine.
Classes
Class | Description | |
---|---|---|
BulkLoaderTKey, TValue |
This class is used to efficiently bulk put objects into NamedMapTKey, TValue or remove
objects from the map. The object values are not guaranteed to be propagated to the map until
the Close method is called.
| |
BulkLoaderException |
Thrown when exception occurred while running the bulk load operations for a given named map.
| |
CustomSerializerT |
Custom serializers should inherit from this abstract base class. An instance of the class implementing
this interface should be provided to the
NamedMapTKey, TValue(String, CustomSerializerTKey, CustomSerializerTValue)
public constructor.
| |
DefaultSerializerT |
Default implementation of the NamedMap serializer based on use of Microsoft's BinaryFormatter class.
| |
KeyListException |
Thrown when exception occurred while retrieving or processing the list of keys.
| |
MapReduceException |
Thrown when exception occurred while running a MapReduce task for data stored within
NamedMapTKey, TValue.
| |
NamedMapTKey, TValue |
The NamedMapTKey, TValue semantics follow the signature of the ConcurrentDictionary class in Microsoft's
System.Collections.Concurrent namespace and it uses ScaleOut StateServer to store keys and values. NamedMapTKey, TValue
represents a thread-safe collection of key-value pairs that can be accessed by multiple threads concurrently.
The map contents are coherent across the in-memory data grid.
| |
NamedMapInvokableTKey, TValue, TParam, TResult |
The main class for defining parallel invocations, which are executed on all keys in the map across
the cluster in a distributed manner. Instances of NamedMapInvokable are submitted to the map by calling the
InvokeTParam, TResult(NamedMapInvokableTKey, TValue, TParam, TResult, TParam)
method.
| |
NamedMapInvokableContextTKey, TValue |
A context which is passed to the
EvalPartialKeySet(NamedMapInvokableContextTKey, TValue, TParam, Boolean)
to iterate through keys and perform an operation on the current key.
| |
QueryConditionTKey, TValue |
An instance of the user defined derived class, where the
CheckCondition(TKey, TValue) method should be
implemented, is passed as an argument to ExecuteParallelQuery(QueryConditionTKey, TValue).
| |
SossTimeout | Contains a constant used to specify an infinite amount of time.
We can use this class until we are fully migrated to .NET 4.5 where the
InfiniteTimeSpan was introduced. |
Enumerations
Enumeration | Description | |
---|---|---|
AutoCorrectStreamPosition |
Defines the stream reading behavior when the serialized key/value elements
are retrieved from in-memory data grid as the memory stream chunks. When using
XML-based custom serializers it is necessary for NamedMapTKey, TValue
to control the memory stream position after reading an individual key or its value out of memory stream.
| |
AvailabilityMode |
Controls whether the in-memory data grid should create replicas
of the named map elements on multiple hosts.
| |
ParallelOperationTransport |
Specifies the list of transport protocols available for data exchange
during the parallel operations originated by the following methods calls:
InvokeTParam, TResult(NamedMapInvokableTKey, TValue, TParam, TResult, TParam)
and ExecuteParallelQuery(QueryConditionTKey, TValue).
By default the ParallelDataTransportOptions.UseSockets is used.
| |
RemoveBehavior |
Defines whether the TryRemove(TKey, RemoveBehavior, TValue) method
should return deleted key's value. By default, deleted value is not returned to avoid additional roundtrip
to the ScaleOut StateServer service.
|