ExecuteAsync Method
ExecuteAsync<TResult>(IEntryProcessor<TResult>)
Processes all entries.
Declaration
Task<IDictionary<TKey, TResult>> ExecuteAsync<TResult>(IEntryProcessor<TResult> processor)
Parameters
IEntryProcessor<TResult> | processor | An entry processor. |
Returns
Task<IDictionary<TKey, TResult>> | The result of the processing of all entries. |
Type Parameters
TResult | The type of the results produced by the processor. |
Remarks
The operation is not lock-aware. The processor
will process the entries
no matter if the keys are locked or not.
The processor
must be serializable via Hazelcast serialization,
and have a counterpart on the server.
Interactions with the map store:
For each entry not found in memory MapLoader.load(Object)
is invoked to load the value from
the MapStore
backing the map.
If the entryProcessor updates the entry and write-through
persistence mode is configured, before the value is stored
in memory, MapStore.store(Object, Object)
is called to
write the value into the map store.
If the entryProcessor updates the entry's value to null value and
write-through persistence mode is configured, before the value is
removed from the memory, MapStore.delete(Object)
is
called to delete the value from the MapStore
.
Any exceptions thrown by the MapStore
fail the operation and are
propagated to the caller. If an exception happened, the operation might
already succeeded on some of the keys.
If write-behind persistence mode is configured with
write-coalescing turned off, ReachedMaxSizeException
may be thrown
if the write-behind queue has reached its per-node maximum
capacity.
ExecuteAsync<TResult>(IEntryProcessor<TResult>, TKey)
Processes an entry.
Declaration
Task<TResult> ExecuteAsync<TResult>(IEntryProcessor<TResult> processor, TKey key)
Parameters
IEntryProcessor<TResult> | processor | An entry processor. |
TKey | key | The key. |
Returns
Task<TResult> | The result of the process. |
Type Parameters
TResult | The type of the results produced by the processor. |
Remarks
The processor
must be serializable via Hazelcast serialization,
and have a counterpart on the server.
ExecuteAsync<TResult>(IEntryProcessor<TResult>, IEnumerable<TKey>)
Processes entries.
Declaration
Task<IDictionary<TKey, TResult>> ExecuteAsync<TResult>(IEntryProcessor<TResult> processor, IEnumerable<TKey> keys)
Parameters
IEntryProcessor<TResult> | processor | An entry processor. |
IEnumerable<TKey> | keys | The keys. |
Returns
Task<IDictionary<TKey, TResult>> | The result of the processing of each entry. |
Type Parameters
TResult | The type of the results produced by the processor. |
Remarks
The processor
must be serializable via Hazelcast serialization,
and have a counterpart on the server.
ExecuteAsync<TResult>(IEntryProcessor<TResult>, IPredicate)
Process entries.
Declaration
Task<IDictionary<TKey, TResult>> ExecuteAsync<TResult>(IEntryProcessor<TResult> processor, IPredicate predicate)
Parameters
IEntryProcessor<TResult> | processor | An entry processor. |
IPredicate | predicate | A predicate to select entries. |
Returns
Task<IDictionary<TKey, TResult>> | The result of the processing of selected entries. |
Type Parameters
TResult | The type of the results produced by the processor. |
Remarks
The processor
must be serializable via Hazelcast serialization,
and have a counterpart on the server.