Oracle Coherence for C++ API
Release 3.6.1.0

E18813-01

PriorityAggregator Class Reference

#include <coherence/util/aggregator/PriorityAggregator.hpp>

Inherits AbstractPriorityTask, and InvocableMap::ParallelAwareAggregator.

List of all members.


Detailed Description

PriorityAggregator is used to explicitly control the scheduling priority and timeouts for execution of EntryAggregator-based methods.

For example, let's assume that there is an Orders cache that belongs to a partitioned cache service configured with a request-timeout and task-timeout of 5 seconds. Also assume that we are willing to wait longer for a particular aggregation request that scans the entire cache. Then we could override the default timeout values by using the PriorityAggregator as follows:

   Float64Average::Handle aggrStandard =
           Float64Average::create(ReflectionExtractor::create("getPrice"));
   PriorityAggregator::Handle aggrPriority =
           PriorityAggregator::create(aggrStandard);
   aggrPriority->setExecutionTimeoutMillis(PriorityTask::TIMEOUT_NONE);
   aggrPriority->setRequestTimeoutMillis(PriorityTask::TIMEOUT_NONE);
   cacheOrders->aggregate(NULL, aggrPriority);
 

This is an advanced feature which should be used judiciously.

Author:
djl 2008.05.16

Public Types

typedef spec::Handle  Handle
  PriorityAggregator Handle definition.
typedef spec::View  View
  PriorityAggregator View definition.
typedef spec::Holder  Holder
  PriorityAggregator Holder definition.

Public Member Functions

virtual Object::Holder  aggregate (Set::View vSetEntries)
  Process a set of InvocableMap::Entry objects in order to produce an aggregated result.
Parameters:
vSetEntries  a Set of read-only InvocableMap::Entry objects to aggregate
Returns:
the aggregated result from processing the entries

virtual
InvocableMap::EntryAggregator::Handle 
getParallelAggregator ()
  Get an aggregator that can take the place of this aggregator in situations in which the InvocableMap can aggregate in parallel.
Returns:
the aggregator that will be run in parallel

virtual Object::Holder  aggregateResults (Collection::View vCollResults)
  Aggregate the results of the parallel aggregations.
Parameters:
vCollResults  the parallel aggregation results
Returns:
the aggregation of the parallel aggregation results

virtual void  readExternal (PofReader::Handle hIn)
 
virtual void  writeExternal (PofWriter::Handle hOut) const
 
virtual void  toStream (std::ostream &out) const
  Output a human-readable description of this Object to the given stream.

coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.

 Object::View vKey   = ...
 Object::View vValue = ...
 std::cout << vKey << " = " << vValue << std::endl;

 String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
Parameters:
out  the stream used to output the description

virtual
InvocableMap::ParallelAwareAggregator::Handle 
getAggregator ()
  Obtain the underlying aggregator.
virtual
InvocableMap::ParallelAwareAggregator::View 
getAggregator () const
  Obtain the underlying aggregator.

Protected Member Functions

  PriorityAggregator ()
  Default constructor (necessary for the PortableObject interface).
  PriorityAggregator (InvocableMap::ParallelAwareAggregator::Handle hAggregator)
  Construct a PriorityAggregator.

Constructor & Destructor Documentation

PriorityAggregator ( InvocableMap::ParallelAwareAggregator::Handle  hAggregator  )  [protected]

Construct a PriorityAggregator.

Parameters:
hAggregator  the aggregator wrapped by this PriorityAggregator

Member Function Documentation

virtual InvocableMap::ParallelAwareAggregator::Handle getAggregator (  )  [virtual]

Obtain the underlying aggregator.

Returns:
the aggregator wrapped by this PriorityAggregator

virtual InvocableMap::ParallelAwareAggregator::View getAggregator (  )  const [virtual]

Obtain the underlying aggregator.

Returns:
the aggregator wrapped by this PriorityAggregator

The documentation for this class was generated from the following file:
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.