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.