<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>cloudwatch_service.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/cloudwatch/</path>
    <filename>cloudwatch__service_8h</filename>
    <includes id="data__batcher_8h" name="data_batcher.h" local="no" imported="no">dataflow_lite/utils/data_batcher.h</includes>
    <includes id="publisher_8h" name="publisher.h" local="no" imported="no">dataflow_lite/utils/publisher.h</includes>
    <includes id="service_8h" name="service.h" local="no" imported="no">dataflow_lite/utils/service.h</includes>
    <class kind="class">Aws::CloudWatch::CloudWatchService</class>
    <namespace>Aws</namespace>
    <namespace>Aws::CloudWatch</namespace>
    <member kind="variable" static="yes">
      <type>static const std::chrono::milliseconds</type>
      <name>kDequeueDuration</name>
      <anchorfile>namespaceAws_1_1CloudWatch.html</anchorfile>
      <anchor>a5e8d30ac27e26a87fc993c3742723eae</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>data_batcher.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/utils/</path>
    <filename>data__batcher_8h</filename>
    <includes id="service_8h" name="service.h" local="no" imported="no">dataflow_lite/utils/service.h</includes>
    <class kind="class">DataBatcher</class>
  </compound>
  <compound kind="file">
    <name>data_batcher_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/utils/</path>
    <filename>data__batcher__test_8cpp</filename>
    <includes id="data__batcher_8h" name="data_batcher.h" local="no" imported="no">dataflow_lite/utils/data_batcher.h</includes>
    <class kind="class">DataBatcherTest</class>
    <class kind="class">TestBatcher</class>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>data__batcher__test_8cpp.html</anchorfile>
      <anchor>a6584d646512c56fdc5b2ecbffb018460</anchor>
      <arglist>(DataBatcherTest, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>data__batcher__test_8cpp.html</anchorfile>
      <anchor>ae2b439c732c0485925d966455acba99a</anchor>
      <arglist>(DataBatcherTest, Init)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>data__batcher__test_8cpp.html</anchorfile>
      <anchor>acacac694ca1d8b0ac15174a237ae3412</anchor>
      <arglist>(DataBatcherTest, TestMaxSizeClear)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>data__batcher__test_8cpp.html</anchorfile>
      <anchor>a68cf083776dea6883413ece45184880e</anchor>
      <arglist>(DataBatcherTest, TestPublishTrigger)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>data__batcher__test_8cpp.html</anchorfile>
      <anchor>a8f664d3b48761eb14bc1f2c77e438de2</anchor>
      <arglist>(DataBatcherTest, TestValidateArguments)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>data__batcher__test_8cpp.html</anchorfile>
      <anchor>a33782ee17beaef8fb02dd36388dfa7c2</anchor>
      <arglist>(DataBatcherTest, TestBatcherArguments)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>dataflow.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>dataflow_8h</filename>
    <includes id="observed__queue_8h" name="observed_queue.h" local="no" imported="no">dataflow_lite/dataflow/observed_queue.h</includes>
    <includes id="pipeline_8h" name="pipeline.h" local="no" imported="no">dataflow_lite/dataflow/pipeline.h</includes>
    <includes id="priority__options_8h" name="priority_options.h" local="no" imported="no">dataflow_lite/dataflow/priority_options.h</includes>
    <includes id="queue__monitor_8h" name="queue_monitor.h" local="no" imported="no">dataflow_lite/dataflow/queue_monitor.h</includes>
    <includes id="sink_8h" name="sink.h" local="no" imported="no">dataflow_lite/dataflow/sink.h</includes>
    <includes id="source_8h" name="source.h" local="no" imported="no">dataflow_lite/dataflow/source.h</includes>
    <includes id="status__monitor_8h" name="status_monitor.h" local="no" imported="no">dataflow_lite/dataflow/status_monitor.h</includes>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
    <member kind="function">
      <type>std::enable_if&lt; std::is_base_of&lt; Sink&lt; T &gt;, O &gt;::value, std::shared_ptr&lt; O &gt; &gt;::type</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a17e8ff6e2b6a89aaa0cfdf22c60be2ad</anchor>
      <arglist>(OutputStage&lt; T &gt; &amp;output_stage, std::shared_ptr&lt; O &gt; sink)</arglist>
    </member>
    <member kind="function">
      <type>std::enable_if&lt; std::is_base_of&lt; QueueDemux&lt; T &gt;, O &gt;::value, std::shared_ptr&lt; O &gt; &gt;::type</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>af96180962f9892e10deceb3f843122c2</anchor>
      <arglist>(std::tuple&lt; std::shared_ptr&lt; ObservedQueue&lt; T &gt;&gt;, PriorityOptions &gt; observed_queue, std::shared_ptr&lt; O &gt; sink)</arglist>
    </member>
    <member kind="function">
      <type>std::tuple&lt; std::shared_ptr&lt; ObservedQueue&lt; T &gt; &gt;, PriorityOptions &gt;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a926ae10406a60ed1ec5829dad1d04431</anchor>
      <arglist>(std::shared_ptr&lt; ObservedQueue&lt; T &gt;&gt; observed_queue, PriorityLevel level)</arglist>
    </member>
    <member kind="function">
      <type>InputStage&lt; T &gt; &amp;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a5434c96a6da596dea0d53ed20c86ff03</anchor>
      <arglist>(std::shared_ptr&lt; O &gt; source, InputStage&lt; T &gt; &amp;inputStage)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>observable_object.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/utils/</path>
    <filename>observable__object_8h</filename>
    <class kind="class">ObservableObject</class>
  </compound>
  <compound kind="file">
    <name>observable_object_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/utils/</path>
    <filename>observable__object__test_8cpp</filename>
    <includes id="observable__object_8h" name="observable_object.h" local="no" imported="no">dataflow_lite/utils/observable_object.h</includes>
    <class kind="class">ObservableObjectTest</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>a54b26001934ee742f40385323af7cb5b</anchor>
      <arglist>(ObservableObjectTest, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>a6a3ab525071d340825215f0db908c4d7</anchor>
      <arglist>(ObservableObjectTest, TestInit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>a4492716d5ce59a1985a5a03521568eaa</anchor>
      <arglist>(ObservableObjectTest, TestSet)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>a4d3f3d12e788d1cba1ae0018420393a5</anchor>
      <arglist>(ObservableObjectTest, TestListener)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>ade3abf4e88f694a068103f643b57374b</anchor>
      <arglist>(ObservableObjectTest, TestFaultyListener)</arglist>
    </member>
    <member kind="variable">
      <type>const int</type>
      <name>INITIAL_VALUE</name>
      <anchorfile>observable__object__test_8cpp.html</anchorfile>
      <anchor>aa1d629cc6ac32afb5e637d8df15a9795</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>observed_queue.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>observed__queue_8h</filename>
    <includes id="sink_8h" name="sink.h" local="no" imported="no">dataflow_lite/dataflow/sink.h</includes>
    <includes id="source_8h" name="source.h" local="no" imported="no">dataflow_lite/dataflow/source.h</includes>
    <includes id="status__monitor_8h" name="status_monitor.h" local="no" imported="no">dataflow_lite/dataflow/status_monitor.h</includes>
    <class kind="class">Aws::DataFlow::IObservedQueue</class>
    <class kind="class">Aws::DataFlow::ObservedBlockingQueue</class>
    <class kind="class">Aws::DataFlow::ObservedQueue</class>
    <class kind="class">Aws::DataFlow::ObservedSynchronizedQueue</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="file">
    <name>observed_queue_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/dataflow/</path>
    <filename>observed__queue__test_8cpp</filename>
    <includes id="sink_8h" name="sink.h" local="no" imported="no">dataflow_lite/dataflow/sink.h</includes>
    <includes id="source_8h" name="source.h" local="no" imported="no">dataflow_lite/dataflow/source.h</includes>
    <includes id="observed__queue_8h" name="observed_queue.h" local="no" imported="no">dataflow_lite/dataflow/observed_queue.h</includes>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>observed__queue__test_8cpp.html</anchorfile>
      <anchor>a17291613002d95c0cbb99560212dfdb2</anchor>
      <arglist>(observed_queue_test, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>observed__queue__test_8cpp.html</anchorfile>
      <anchor>a487d16910e890b70924954c087b1c189</anchor>
      <arglist>(observed_queue_test, enqueue_dequeue_test)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>observed__queue__test_8cpp.html</anchorfile>
      <anchor>a4089bfc7bf194acce71d329e7d400597</anchor>
      <arglist>(observed_queue_test, blocking_enqueue_dequeue_test)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>observed__queue__test_8cpp.html</anchorfile>
      <anchor>aacb61302929de1a1e3c0f5746fd907fe</anchor>
      <arglist>(observed_queue_test, synchronized_enqueue_dequeue_test)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>observed__queue__test_8cpp.html</anchorfile>
      <anchor>a4e02281902df0e668201f9e745d00a62</anchor>
      <arglist>(observed_queue_test, enqueue_blocked_dequeue_test)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>test_enqueue_dequeue</name>
      <anchorfile>observed__queue__test_8cpp.html</anchorfile>
      <anchor>a61d708db5ec6234a04f5815d74a66bce</anchor>
      <arglist>(IObservedQueue&lt; std::string &gt; &amp;observed_queue)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pipeline.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>pipeline_8h</filename>
    <includes id="sink_8h" name="sink.h" local="no" imported="no">dataflow_lite/dataflow/sink.h</includes>
    <includes id="source_8h" name="source.h" local="no" imported="no">dataflow_lite/dataflow/source.h</includes>
    <class kind="class">Aws::DataFlow::InputStage</class>
    <class kind="class">Aws::DataFlow::InputStage</class>
    <class kind="class">Aws::DataFlow::OutputStage</class>
    <class kind="class">Aws::DataFlow::OutputStage</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="file">
    <name>priority_options.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>priority__options_8h</filename>
    <class kind="struct">Aws::DataFlow::PriorityOptions</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
    <member kind="enumeration">
      <type></type>
      <name>PriorityLevel</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LOWEST_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259caf1611a9e92c6da785d96cc71c83cc24f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LOW_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259ca1a95026a43401db057bf2ca8fcfe7adb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>MEDIUM_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259ca7a6cb8f85004eb4719a7eddd356ef19b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>HIGH_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259ca5e2e74d59029042cf200f939c87b00fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>HIGHEST_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259cac80e853a25bccab4cd3e942a4b24fe41</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>publisher.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/utils/</path>
    <filename>publisher_8h</filename>
    <includes id="observable__object_8h" name="observable_object.h" local="no" imported="no">dataflow_lite/utils/observable_object.h</includes>
    <includes id="service_8h" name="service.h" local="no" imported="no">dataflow_lite/utils/service.h</includes>
    <includes id="task_8h" name="task.h" local="no" imported="no">dataflow_lite/task/task.h</includes>
    <class kind="class">Publisher</class>
    <member kind="enumeration">
      <type></type>
      <name>PublisherState</name>
      <anchorfile>publisher_8h.html</anchorfile>
      <anchor>a193211dee85fa4a5e7ea5feb4fd2199b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNKNOWN</name>
      <anchorfile>publisher_8h.html</anchorfile>
      <anchor>a193211dee85fa4a5e7ea5feb4fd2199ba6ce26a62afab55d7606ad4e92428b30c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CONNECTED</name>
      <anchorfile>publisher_8h.html</anchorfile>
      <anchor>a193211dee85fa4a5e7ea5feb4fd2199ba7a691a2430ec26878897b5fbc9c22a4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NOT_CONNECTED</name>
      <anchorfile>publisher_8h.html</anchorfile>
      <anchor>a193211dee85fa4a5e7ea5feb4fd2199ba96c582a5af213ca7fb34f970d83875f5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>publisher_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/utils/</path>
    <filename>publisher__test_8cpp</filename>
    <includes id="publisher_8h" name="publisher.h" local="no" imported="no">dataflow_lite/utils/publisher.h</includes>
    <class kind="class">PublisherTest</class>
    <class kind="class">SimpleTestPublisher</class>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>publisher__test_8cpp.html</anchorfile>
      <anchor>ae26dc1fef2df67ef21b3456b905c426c</anchor>
      <arglist>(PublisherTest, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>publisher__test_8cpp.html</anchorfile>
      <anchor>a945a3761c392d32dead16cf16d8f8f0d</anchor>
      <arglist>(PublisherTest, TestPublishFailNotStarted)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>publisher__test_8cpp.html</anchorfile>
      <anchor>af5ebd56baea50229b2e3c8bd4dc82d1e</anchor>
      <arglist>(PublisherTest, TestPublishSuccessWhenStarted)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>publisher__test_8cpp.html</anchorfile>
      <anchor>aef46566e609ba8d866b31d1e53b5c206</anchor>
      <arglist>(PublisherTest, TestPublishFailure)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>publisher__test_8cpp.html</anchorfile>
      <anchor>abb1b1a87b314a903764287d0a94dbea8</anchor>
      <arglist>(PublisherTest, TestPublisherShutdown)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>queue_monitor.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>queue__monitor_8h</filename>
    <includes id="status__monitor_8h" name="status_monitor.h" local="no" imported="no">dataflow_lite/dataflow/status_monitor.h</includes>
    <includes id="observed__queue_8h" name="observed_queue.h" local="no" imported="no">dataflow_lite/dataflow/observed_queue.h</includes>
    <includes id="pipeline_8h" name="pipeline.h" local="no" imported="no">dataflow_lite/dataflow/pipeline.h</includes>
    <includes id="priority__options_8h" name="priority_options.h" local="no" imported="no">dataflow_lite/dataflow/priority_options.h</includes>
    <class kind="class">Aws::DataFlow::QueueDemux</class>
    <class kind="class">Aws::DataFlow::QueueMonitor</class>
    <class kind="struct">Aws::DataFlow::QueueMonitor::QueuePriorityPair</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="file">
    <name>queue_monitor_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/dataflow/</path>
    <filename>queue__monitor__test_8cpp</filename>
    <includes id="observed__queue_8h" name="observed_queue.h" local="no" imported="no">dataflow_lite/dataflow/observed_queue.h</includes>
    <includes id="queue__monitor_8h" name="queue_monitor.h" local="no" imported="no">dataflow_lite/dataflow/queue_monitor.h</includes>
    <class kind="class">MockObservedQueue</class>
    <member kind="function">
      <type>bool</type>
      <name>dequeueFunc</name>
      <anchorfile>queue__monitor__test_8cpp.html</anchorfile>
      <anchor>ac0a916ec93c4bd5fa64afb7e961c3d56</anchor>
      <arglist>(std::string &amp;data, std::string actual, const std::chrono::microseconds &amp;)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>queue__monitor__test_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>queue__monitor__test_8cpp.html</anchorfile>
      <anchor>ae1e7f3e71dfa032b6d1bbb4b494ff4e8</anchor>
      <arglist>(queue_demux_test, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>queue__monitor__test_8cpp.html</anchorfile>
      <anchor>a69fbeae6b81385024826c6d925b1aa84</anchor>
      <arglist>(queue_demux_test, single_source_test)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>queue__monitor__test_8cpp.html</anchorfile>
      <anchor>a1a011f625e89c6733f47a58e2160915b</anchor>
      <arglist>(queue_demux_test, multi_source_test)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>runnable_service_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/utils/</path>
    <filename>runnable__service__test_8cpp</filename>
    <includes id="service_8h" name="service.h" local="no" imported="no">dataflow_lite/utils/service.h</includes>
    <class kind="class">HardWorker</class>
    <class kind="class">RunnableServiceTest</class>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>runnable__service__test_8cpp.html</anchorfile>
      <anchor>a4c6d63ebb6357d1eb337e1b20d8334cc</anchor>
      <arglist>(RunnableServiceTest, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>runnable__service__test_8cpp.html</anchorfile>
      <anchor>a22c9ecf9065b6318a5e860e1b2f3fa06</anchor>
      <arglist>(RunnableServiceTest, Test)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>service.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/utils/</path>
    <filename>service_8h</filename>
    <includes id="observable__object_8h" name="observable_object.h" local="no" imported="no">dataflow_lite/utils/observable_object.h</includes>
    <class kind="class">RunnableService</class>
    <class kind="class">Service</class>
    <member kind="enumeration">
      <type></type>
      <name>ServiceState</name>
      <anchorfile>service_8h.html</anchorfile>
      <anchor>af709fedda5c43309eac7faf560909e46</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CREATED</name>
      <anchorfile>service_8h.html</anchorfile>
      <anchor>af709fedda5c43309eac7faf560909e46aa387e4668dfb404ce73595c772d57144</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>STARTED</name>
      <anchorfile>service_8h.html</anchorfile>
      <anchor>af709fedda5c43309eac7faf560909e46a9671ef15a84681350d508f66e1fc1e27</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SHUTDOWN</name>
      <anchorfile>service_8h.html</anchorfile>
      <anchor>af709fedda5c43309eac7faf560909e46a7690b021f467450541d8d89123429d40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static std::map&lt; ServiceState, std::string &gt;</type>
      <name>SERVICE_STATE_NAME_MAP</name>
      <anchorfile>service_8h.html</anchorfile>
      <anchor>a1de8d2999523df4a0d4238e7743f88b4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>service_test.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/test/utils/</path>
    <filename>service__test_8cpp</filename>
    <includes id="service_8h" name="service.h" local="no" imported="no">dataflow_lite/utils/service.h</includes>
    <class kind="class">ServiceTest</class>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>service__test_8cpp.html</anchorfile>
      <anchor>a606f248eb7eec0d990d9774776783827</anchor>
      <arglist>(ServiceTest, Sanity)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>service__test_8cpp.html</anchorfile>
      <anchor>aaf4b9f07e349e51b8965dfc2e2e24af1</anchor>
      <arglist>(ServiceTest, TestLifecycle)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sink.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>sink_8h</filename>
    <class kind="class">Aws::DataFlow::Sink</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="file">
    <name>source.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>source_8h</filename>
    <class kind="class">Aws::DataFlow::Source</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="file">
    <name>status_monitor.cpp</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/src/dataflow/</path>
    <filename>status__monitor_8cpp</filename>
    <includes id="status__monitor_8h" name="status_monitor.h" local="no" imported="no">dataflow_lite/dataflow/status_monitor.h</includes>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="file">
    <name>status_monitor.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/dataflow/</path>
    <filename>status__monitor_8h</filename>
    <class kind="class">Aws::DataFlow::MaskFactory</class>
    <class kind="class">Aws::DataFlow::MultiStatusConditionMonitor</class>
    <class kind="class">Aws::DataFlow::StatusMonitor</class>
    <class kind="class">Aws::DataFlow::ThreadMonitor</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
    <member kind="enumeration">
      <type></type>
      <name>Status</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a8bc680d0995e9649e3483afd0acb3eaa</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNAVAILABLE</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a8bc680d0995e9649e3483afd0acb3eaaa1b0b9c44ebed8784df7c63e5ef450631</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>AVAILABLE</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a8bc680d0995e9649e3483afd0acb3eaaadc6af51498cc2d6d6f0f6efe8570a613</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>task.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/task/</path>
    <filename>task_8h</filename>
    <includes id="observed__queue_8h" name="observed_queue.h" local="no" imported="no">dataflow_lite/dataflow/observed_queue.h</includes>
    <includes id="sink_8h" name="sink.h" local="no" imported="no">dataflow_lite/dataflow/sink.h</includes>
    <class kind="class">Aws::DataFlow::BasicTask</class>
    <class kind="class">Aws::DataFlow::IPublisher</class>
    <class kind="class">Aws::DataFlow::Task</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
    <member kind="typedef">
      <type>std::function&lt; void(const Status &amp;upload_status, const T &amp;message)&gt;</type>
      <name>UploadStatusFunction</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>ab4ffc7f4402aafbf1487adef1c5b2566</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>UploadStatus</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNKNOWN</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056ac9d2cff82a77f1ed4273dcf5f75d1fee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FAIL</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056a5237df2fb99f6abf342d9ccbef41bafc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SUCCESS</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056a9d3d2d8645cbd52f4e2615215153d124</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INVALID_DATA</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056a5f11151ae5a9b40c4b500904c0096d45</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>uploader_options.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/cloudwatch/</path>
    <filename>uploader__options_8h</filename>
    <class kind="struct">Aws::DataFlow::UploaderOptions</class>
    <namespace>Aws</namespace>
    <namespace>Aws::DataFlow</namespace>
    <member kind="variable" static="yes">
      <type>static constexpr UploaderOptions</type>
      <name>kDefaultUploaderOptions</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a801faf43fd9c07bcc4f1d468d3b8cc12</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>waiter.h</name>
    <path>/tmp/ws/src/cloudwatch_common/dataflow_lite/include/dataflow_lite/utils/</path>
    <filename>waiter_8h</filename>
    <class kind="class">Waiter</class>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::BasicTask</name>
    <filename>classAws_1_1DataFlow_1_1BasicTask.html</filename>
    <templarg></templarg>
    <base>Aws::DataFlow::Task</base>
    <member kind="function">
      <type></type>
      <name>BasicTask</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>a6900f5947e42801e0f24367c56d84b20</anchor>
      <arglist>(std::shared_ptr&lt; T &gt; batch_data)</arglist>
    </member>
    <member kind="function">
      <type>T &amp;</type>
      <name>getBatchData</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>a3429f02879ac01801156ffc9ea57e9c3</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>onComplete</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>a84db25db05428b0c4a5f2011fecf1f7e</anchor>
      <arglist>(const UploadStatus &amp;status) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setOnCompleteFunction</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>a25caa15396f428aa2fc8a685c9d9d7fd</anchor>
      <arglist>(const UploadStatusFunction&lt; UploadStatus, T &gt; upload_status_function)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~BasicTask</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>a6f89c5fe0430a174b4d4557c47842404</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; T &gt;</type>
      <name>batch_data_</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>aaf263e70c3f7b90ccd4839df0c5df6b1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>UploadStatusFunction&lt; UploadStatus, T &gt;</type>
      <name>upload_status_function_</name>
      <anchorfile>classAws_1_1DataFlow_1_1BasicTask.html</anchorfile>
      <anchor>a7ca6664ac861e598bd1078c0b4601094</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::CloudWatch::CloudWatchService</name>
    <filename>classAws_1_1CloudWatch_1_1CloudWatchService.html</filename>
    <templarg></templarg>
    <templarg></templarg>
    <base>InputStage&lt; TaskPtr&lt; std::list&lt; T &gt; &gt; &gt;</base>
    <base>RunnableService</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>batchData</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>aed0ed27fdb6353e5e15caa28ce643b5e</anchor>
      <arglist>(const D &amp;data_to_batch)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>batchData</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>ab32c52d3e26b1ef03ee5e702ca642c14</anchor>
      <arglist>(const D &amp;data_to_batch, const std::chrono::milliseconds &amp;milliseconds)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CloudWatchService</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a9dee69d13d329798e60c9224b136d139</anchor>
      <arglist>(std::shared_ptr&lt; Publisher&lt; std::list&lt; T &gt;&gt;&gt; publisher, std::shared_ptr&lt; DataBatcher&lt; T &gt;&gt; batcher)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual std::chrono::milliseconds</type>
      <name>getCurrentTimestamp</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a7306ecba3fb78027f79eb1cc817fbcf1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual std::chrono::milliseconds</type>
      <name>getDequeueDuration</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>aea8a7ac4a35f719ec06cf9eed5aa435a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getNumberDequeued</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a13eaa72a9276d32c82c6db0b51124d97</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>isConnected</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>aac923301a339b6327670e958e7fcbdc3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>publishBatchedData</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a7fbcaa8ee705e0421940c9e520aad43e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>setDequeueDuration</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>aaa292a03de58afd068d36994f640e057</anchor>
      <arglist>(std::chrono::milliseconds new_value)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>shutdown</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a94933e4deb15d1e4cab1988a2760f945</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>start</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>adb7517ed6fd23a77187a695b5e98675d</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~CloudWatchService</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>aa755e1eed78101af3aba1ee0038b2b81</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual T</type>
      <name>convertInputToBatched</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>aa4665250c76a60264a2a7a06ddd005ae</anchor>
      <arglist>(const D &amp;input, const std::chrono::milliseconds &amp;milliseconds)=0</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual T</type>
      <name>convertInputToBatched</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a9d54f304742b31bf855fa2909fce3d13</anchor>
      <arglist>(const D &amp;input)=0</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>work</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a7a1d9c4827b3b89c79ca361ea0922ffe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; DataBatcher&lt; T &gt; &gt;</type>
      <name>batcher_</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a5565f0c3ca3843b1c878fe0d27cd295c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::chrono::milliseconds</type>
      <name>dequeue_duration_</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a430294c8f80a2482591eb9a4ca45edbe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; FileUploadStreamer&lt; std::list&lt; T &gt; &gt; &gt;</type>
      <name>file_upload_streamer_</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a05f696c9f7cafc0ee53572ddc3d0a06d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; Publisher&lt; std::list&lt; T &gt; &gt; &gt;</type>
      <name>publisher_</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a17d7fd348a3743dee136f3044716a89e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; int &gt;</type>
      <name>number_dequeued_</name>
      <anchorfile>classAws_1_1CloudWatch_1_1CloudWatchService.html</anchorfile>
      <anchor>a5eaf1723e750dc97bbb91eaeb65777ce</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>DataBatcher</name>
    <filename>classDataBatcher.html</filename>
    <templarg>T</templarg>
    <base>Service</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>batchData</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>afa6639fe4fbabc7bce8bc478a9e7ca8b</anchor>
      <arglist>(const T &amp;data_to_batch)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DataBatcher</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a51584061cab2c730f63c417eeeb5d6ab</anchor>
      <arglist>(size_t max_allowable_batch_size=DataBatcher::kDefaultMaxBatchSize, size_t trigger_size=DataBatcher::kDefaultTriggerSize, std::chrono::microseconds try_enqueue_duration=std::chrono::duration_cast&lt; std::chrono::microseconds &gt;(std::chrono::seconds(2)))</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>getCurrentBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a9d7c92812b356e79895e3fe245ccd72d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>getMaxAllowableBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>aad423c962b11c91be2ff600616eb17e8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>getTriggerBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a8568d26f6e77d259543fef2324a36633</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::chrono::microseconds</type>
      <name>getTryEnqueueDuration</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a573adb7489da6b3362699e439224ccfb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>publishBatchedData</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>aa2ca6ab4fca2a9f2e09071a56008dd18</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetBatchedData</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a9ce752db81838dcab408396719ee2f8a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetTriggerBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>ae1b59ccedc71d3650c50de92a794ec82</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxAllowableBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>ababb8e5e43a0c79aaf66df36a7b1b843</anchor>
      <arglist>(int new_value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTriggerBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a8817dcbd15fe2c08a335736b31757b0e</anchor>
      <arglist>(size_t new_value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTryEnqueueDuration</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>ad572b7ad7320315823e640fe417ef2b5</anchor>
      <arglist>(std::chrono::microseconds duration)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a3737e6b231f2794098dae55a8d1f7939</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~DataBatcher</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a338252eeec5644dbeec3808cde4b0e9e</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>validateConfigurableSizes</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a576d7316419aa82f08f466ac74d54603</anchor>
      <arglist>(size_t batch_max_queue_size, size_t batch_trigger_publish_size)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const size_t</type>
      <name>kDefaultMaxBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>aef7450b5c0912f7e35e76a916aea5575</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const size_t</type>
      <name>kDefaultTriggerSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a8d6db59c8874db0759e05250ebdebe72</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>emptyCollection</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>abd986574c5e52b0d4017b9db5748bc51</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; std::list&lt; T &gt; &gt;</type>
      <name>batched_data_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a19c7bdf575cb544758b8fdf69932cb2c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::recursive_mutex</type>
      <name>mtx</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a94bc014c003a1a01fb215973360f4dee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; size_t &gt;</type>
      <name>max_allowable_batch_size_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a88430cbb32016864c53699b94a6a5085</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; size_t &gt;</type>
      <name>trigger_batch_size_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a0d036e4b5b399595d00e9573733c11b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; std::chrono::microseconds &gt;</type>
      <name>try_enqueue_duration_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a6064fc73305016309675cab51e91241c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>DataBatcher&lt; int &gt;</name>
    <filename>classDataBatcher.html</filename>
    <base>Service</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>batchData</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>afa6639fe4fbabc7bce8bc478a9e7ca8b</anchor>
      <arglist>(const int &amp;data_to_batch)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DataBatcher</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a51584061cab2c730f63c417eeeb5d6ab</anchor>
      <arglist>(size_t max_allowable_batch_size=DataBatcher::kDefaultMaxBatchSize, size_t trigger_size=DataBatcher::kDefaultTriggerSize, std::chrono::microseconds try_enqueue_duration=std::chrono::duration_cast&lt; std::chrono::microseconds &gt;(std::chrono::seconds(2)))</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>getCurrentBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a9d7c92812b356e79895e3fe245ccd72d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>getMaxAllowableBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>aad423c962b11c91be2ff600616eb17e8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>getTriggerBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a8568d26f6e77d259543fef2324a36633</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::chrono::microseconds</type>
      <name>getTryEnqueueDuration</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a573adb7489da6b3362699e439224ccfb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>publishBatchedData</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>aa2ca6ab4fca2a9f2e09071a56008dd18</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetBatchedData</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a9ce752db81838dcab408396719ee2f8a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetTriggerBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>ae1b59ccedc71d3650c50de92a794ec82</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxAllowableBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>ababb8e5e43a0c79aaf66df36a7b1b843</anchor>
      <arglist>(int new_value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTriggerBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a8817dcbd15fe2c08a335736b31757b0e</anchor>
      <arglist>(size_t new_value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTryEnqueueDuration</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>ad572b7ad7320315823e640fe417ef2b5</anchor>
      <arglist>(std::chrono::microseconds duration)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a3737e6b231f2794098dae55a8d1f7939</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~DataBatcher</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a338252eeec5644dbeec3808cde4b0e9e</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>validateConfigurableSizes</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a576d7316419aa82f08f466ac74d54603</anchor>
      <arglist>(size_t batch_max_queue_size, size_t batch_trigger_publish_size)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const size_t</type>
      <name>kDefaultMaxBatchSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>aef7450b5c0912f7e35e76a916aea5575</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const size_t</type>
      <name>kDefaultTriggerSize</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a8d6db59c8874db0759e05250ebdebe72</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>emptyCollection</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>abd986574c5e52b0d4017b9db5748bc51</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; std::list&lt; int &gt; &gt;</type>
      <name>batched_data_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a19c7bdf575cb544758b8fdf69932cb2c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::recursive_mutex</type>
      <name>mtx</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a94bc014c003a1a01fb215973360f4dee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; size_t &gt;</type>
      <name>max_allowable_batch_size_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a88430cbb32016864c53699b94a6a5085</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; size_t &gt;</type>
      <name>trigger_batch_size_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a0d036e4b5b399595d00e9573733c11b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; std::chrono::microseconds &gt;</type>
      <name>try_enqueue_duration_</name>
      <anchorfile>classDataBatcher.html</anchorfile>
      <anchor>a6064fc73305016309675cab51e91241c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>DataBatcherTest</name>
    <filename>classDataBatcherTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classDataBatcherTest.html</anchorfile>
      <anchor>a37f0e75f8c75a4d7c1024340fad344dd</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classDataBatcherTest.html</anchorfile>
      <anchor>ad3226417b51feba97c52158336154648</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; TestBatcher &gt;</type>
      <name>test_batcher</name>
      <anchorfile>classDataBatcherTest.html</anchorfile>
      <anchor>a6529e51d9b9a254298d0689051942589</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>HardWorker</name>
    <filename>classHardWorker.html</filename>
    <base>RunnableService</base>
    <member kind="function">
      <type>bool</type>
      <name>getHasWorked</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>a8c08e24bae97136c52d977a7b7bcf9b0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>HardWorker</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>aa9b7ef463c9a26bf703f0579d4c414ca</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>ad134c929dafc61144c27c741270c71ab</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>work</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>af0747ba999475e5b4efcc00eea7ce75d</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~HardWorker</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>a6f6f8c577b8f6628a0c5b9bfba488afd</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>has_worked_</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>a242fcda4cd8e1a912d4cdaab22580687</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>test_cv</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>a715ec65c880513521b3d87b52d918d11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>test_mtx</name>
      <anchorfile>classHardWorker.html</anchorfile>
      <anchor>aa78c597fcaa4314ca0bbc41f039b2820</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::InputStage</name>
    <filename>classAws_1_1DataFlow_1_1InputStage.html</filename>
    <templarg>I</templarg>
    <member kind="function">
      <type>std::shared_ptr&lt; Source&lt; I &gt; &gt;</type>
      <name>getSource</name>
      <anchorfile>classAws_1_1DataFlow_1_1InputStage.html</anchorfile>
      <anchor>ace550bc2c16d7cb3545b77919bb642db</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setSource</name>
      <anchorfile>classAws_1_1DataFlow_1_1InputStage.html</anchorfile>
      <anchor>ad9ee4864c55e61f028fe5200a88435ac</anchor>
      <arglist>(std::shared_ptr&lt; Source&lt; I &gt;&gt; source)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; Source&lt; I &gt; &gt;</type>
      <name>source_</name>
      <anchorfile>classAws_1_1DataFlow_1_1InputStage.html</anchorfile>
      <anchor>a0a448ef7b6015464cec5e9e740442aa4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>InputStage&lt; TaskPtr&lt; std::list&lt; T &gt; &gt; &gt;</name>
    <filename>classAws_1_1DataFlow_1_1InputStage.html</filename>
    <member kind="function">
      <type>std::shared_ptr&lt; Source&lt; TaskPtr&lt; std::list&lt; T &gt; &gt; &gt; &gt;</type>
      <name>getSource</name>
      <anchorfile>classAws_1_1DataFlow_1_1InputStage.html</anchorfile>
      <anchor>ace550bc2c16d7cb3545b77919bb642db</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setSource</name>
      <anchorfile>classAws_1_1DataFlow_1_1InputStage.html</anchorfile>
      <anchor>ad9ee4864c55e61f028fe5200a88435ac</anchor>
      <arglist>(std::shared_ptr&lt; Source&lt; TaskPtr&lt; std::list&lt; T &gt; &gt; &gt;&gt; source)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; Source&lt; TaskPtr&lt; std::list&lt; T &gt; &gt; &gt; &gt;</type>
      <name>source_</name>
      <anchorfile>classAws_1_1DataFlow_1_1InputStage.html</anchorfile>
      <anchor>a0a448ef7b6015464cec5e9e740442aa4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::IObservedQueue</name>
    <filename>classAws_1_1DataFlow_1_1IObservedQueue.html</filename>
    <templarg>T</templarg>
    <templarg>Allocator</templarg>
    <base>Aws::DataFlow::Sink</base>
    <base>Aws::DataFlow::Source</base>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>empty</name>
      <anchorfile>classAws_1_1DataFlow_1_1IObservedQueue.html</anchorfile>
      <anchor>a196fea3990c4fae1d7d9ad78753f7daf</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>setStatusMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1IObservedQueue.html</anchorfile>
      <anchor>a06d2c644c38a5dc14cabe6557c8f893e</anchor>
      <arglist>(std::shared_ptr&lt; StatusMonitor &gt; status_monitor)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual size_t</type>
      <name>size</name>
      <anchorfile>classAws_1_1DataFlow_1_1IObservedQueue.html</anchorfile>
      <anchor>a9ddc4875e30e1cedbcd203fa77ce104e</anchor>
      <arglist>() const =0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>IObservedQueue&lt; std::string &gt;</name>
    <filename>classAws_1_1DataFlow_1_1IObservedQueue.html</filename>
    <base>Sink&lt; std::string &gt;</base>
    <base>Source&lt; std::string &gt;</base>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>empty</name>
      <anchorfile>classAws_1_1DataFlow_1_1IObservedQueue.html</anchorfile>
      <anchor>a196fea3990c4fae1d7d9ad78753f7daf</anchor>
      <arglist>() const=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>setStatusMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1IObservedQueue.html</anchorfile>
      <anchor>a06d2c644c38a5dc14cabe6557c8f893e</anchor>
      <arglist>(std::shared_ptr&lt; StatusMonitor &gt; status_monitor)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual size_t</type>
      <name>size</name>
      <anchorfile>classAws_1_1DataFlow_1_1IObservedQueue.html</anchorfile>
      <anchor>a9ddc4875e30e1cedbcd203fa77ce104e</anchor>
      <arglist>() const=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::IPublisher</name>
    <filename>classAws_1_1DataFlow_1_1IPublisher.html</filename>
    <templarg>T</templarg>
    <member kind="function" virtualness="pure">
      <type>virtual UploadStatus</type>
      <name>attemptPublish</name>
      <anchorfile>classAws_1_1DataFlow_1_1IPublisher.html</anchorfile>
      <anchor>a0e7d29d6f946c7f7b757f8deb48eaa46</anchor>
      <arglist>(T &amp;batch_data)=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>IPublisher&lt; std::string &gt;</name>
    <filename>classAws_1_1DataFlow_1_1IPublisher.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual UploadStatus</type>
      <name>attemptPublish</name>
      <anchorfile>classAws_1_1DataFlow_1_1IPublisher.html</anchorfile>
      <anchor>a0e7d29d6f946c7f7b757f8deb48eaa46</anchor>
      <arglist>(std::string &amp;batch_data)=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::MaskFactory</name>
    <filename>classAws_1_1DataFlow_1_1MaskFactory.html</filename>
    <member kind="function">
      <type>uint64_t</type>
      <name>getCollectiveMask</name>
      <anchorfile>classAws_1_1DataFlow_1_1MaskFactory.html</anchorfile>
      <anchor>a43d2655ebd1183ec756bc78fad43252d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint64_t</type>
      <name>getNewMask</name>
      <anchorfile>classAws_1_1DataFlow_1_1MaskFactory.html</anchorfile>
      <anchor>a080b497324e1243832aadc4d5c618a97</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>removeMask</name>
      <anchorfile>classAws_1_1DataFlow_1_1MaskFactory.html</anchorfile>
      <anchor>a66b4bc68cf6a82c791f71051af4e53ad</anchor>
      <arglist>(uint64_t mask)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint64_t</type>
      <name>collective_mask_</name>
      <anchorfile>classAws_1_1DataFlow_1_1MaskFactory.html</anchorfile>
      <anchor>a278d2ac60b1d9f39a8dd99b324313e8d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static constexpr size_t</type>
      <name>max_size</name>
      <anchorfile>classAws_1_1DataFlow_1_1MaskFactory.html</anchorfile>
      <anchor>a8cd526110996d6e665a3e2cb3b90f5bf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MockObservedQueue</name>
    <filename>classMockObservedQueue.html</filename>
    <base>IObservedQueue&lt; std::string &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>aacae6f503920290f22123061758d5c1e</anchor>
      <arglist>(std::string &amp;&amp;) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MOCK_CONST_METHOD0</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>aa5fa71feea792d12985bb12287f60e82</anchor>
      <arglist>(size, size_t(void))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MOCK_CONST_METHOD0</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>aaf6ae1b4d1ddd60baa3281ac17b54906</anchor>
      <arglist>(empty, bool(void))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MOCK_METHOD0</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>ad72d9b63c6051dd665400748750eab53</anchor>
      <arglist>(clear, void(void))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MOCK_METHOD1</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>ae1cb874b1731b26a4860f087d1b1d355</anchor>
      <arglist>(enqueue, bool(std::string &amp;data))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MOCK_METHOD2</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>a73e0f00133a662c04e65052b7823d9f8</anchor>
      <arglist>(dequeue, bool(std::string &amp;data, const std::chrono::microseconds &amp;duration))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MOCK_METHOD2</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>ab7f90d7626eb76160476fc045b77ac97</anchor>
      <arglist>(tryEnqueue, bool(std::string &amp;data, const std::chrono::microseconds &amp;duration))</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setStatusMonitor</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>a31fc920400c98d738c5c4abd64da727d</anchor>
      <arglist>(std::shared_ptr&lt; StatusMonitor &gt; status_monitor) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>aba8eb6fee0f0ff7bcf1d940bafc9e8eb</anchor>
      <arglist>(std::string &amp;&amp;value, const std::chrono::microseconds &amp;) override</arglist>
    </member>
    <member kind="variable">
      <type>std::shared_ptr&lt; StatusMonitor &gt;</type>
      <name>status_monitor_</name>
      <anchorfile>classMockObservedQueue.html</anchorfile>
      <anchor>aecc8cd6324d1db00856fdc326cc394b7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::MultiStatusConditionMonitor</name>
    <filename>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</filename>
    <base>Aws::DataFlow::ThreadMonitor</base>
    <member kind="function">
      <type>void</type>
      <name>addStatusMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>aaf2338164859f8e44447777ce4c6b48b</anchor>
      <arglist>(std::shared_ptr&lt; StatusMonitor &gt; &amp;status_monitor)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MultiStatusConditionMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>ab231176b479cf87905604126a23ddc1c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~MultiStatusConditionMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>aefdd973d2390a8c6ce34695c0e65d257</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>hasWork</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>afd3a8f58b1bd44bc1558384b38caee09</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setStatus</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>a144d41fd61652fcfe302b8b43cf4f4f8</anchor>
      <arglist>(const Status &amp;status, StatusMonitor *status_monitor)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::atomic&lt; uint64_t &gt;</type>
      <name>mask_</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>a92ed55d7b989130b03a2f4bc7c0aa206</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>MaskFactory</type>
      <name>mask_factory_</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>a54f9f14ce757e33a5856d19df443b3c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unordered_map&lt; StatusMonitor *, uint64_t &gt;</type>
      <name>status_monitors_</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>ab11c07b4a083d536bad89a6309d79e43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>friend</type>
      <name>StatusMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1MultiStatusConditionMonitor.html</anchorfile>
      <anchor>a04318365b6f9cfb001c2cf3847e9142a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ObservableObject</name>
    <filename>classObservableObject.html</filename>
    <templarg>T</templarg>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>addListener</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a439e58f8e0a3d7dfd04fe0dcb32de86f</anchor>
      <arglist>(const std::function&lt; void(const T &amp;)&gt; &amp;listener)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clearListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ace741978eb1b9050fe2aa0dd1d53e4cc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual size_t</type>
      <name>getNumberOfListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a3b83d5a7243203e2b58d822a35e36d95</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual T</type>
      <name>getValue</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>abdac03400552cb6eafc8b2373770152c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ObservableObject</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a895f3e16fe9bbec9f05090f7b98643e3</anchor>
      <arglist>(const T initialValue)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>setValue</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a55ed0b6043ea0b9aa935df369322d247</anchor>
      <arglist>(const T &amp;v)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ObservableObject</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a43baac5f9c313969d8102837821a27e2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>broadcastToListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ab167efc588c4ec226b95c9e2c7106170</anchor>
      <arglist>(const T &amp;currentValue)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::recursive_mutex</type>
      <name>listener_mutex_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ae9fe0efe02ae4744ef94997b64fb4539</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::list&lt; std::function&lt; void(T)&gt; &gt;</type>
      <name>listeners_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>af170ab6f2e11171895c95fef728f572e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; T &gt;</type>
      <name>value_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ad61337282c58f33a3facad060bb4623d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ObservableObject&lt; PublisherState &gt;</name>
    <filename>classObservableObject.html</filename>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>addListener</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a439e58f8e0a3d7dfd04fe0dcb32de86f</anchor>
      <arglist>(const std::function&lt; void(const PublisherState &amp;)&gt; &amp;listener)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clearListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ace741978eb1b9050fe2aa0dd1d53e4cc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual size_t</type>
      <name>getNumberOfListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a3b83d5a7243203e2b58d822a35e36d95</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual PublisherState</type>
      <name>getValue</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>abdac03400552cb6eafc8b2373770152c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ObservableObject</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a895f3e16fe9bbec9f05090f7b98643e3</anchor>
      <arglist>(const PublisherState initialValue)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>setValue</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a55ed0b6043ea0b9aa935df369322d247</anchor>
      <arglist>(const PublisherState &amp;v)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ObservableObject</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a43baac5f9c313969d8102837821a27e2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>broadcastToListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ab167efc588c4ec226b95c9e2c7106170</anchor>
      <arglist>(const PublisherState &amp;currentValue)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::recursive_mutex</type>
      <name>listener_mutex_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ae9fe0efe02ae4744ef94997b64fb4539</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::list&lt; std::function&lt; void(PublisherState)&gt; &gt;</type>
      <name>listeners_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>af170ab6f2e11171895c95fef728f572e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; PublisherState &gt;</type>
      <name>value_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ad61337282c58f33a3facad060bb4623d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ObservableObject&lt; ServiceState &gt;</name>
    <filename>classObservableObject.html</filename>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>addListener</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a439e58f8e0a3d7dfd04fe0dcb32de86f</anchor>
      <arglist>(const std::function&lt; void(const ServiceState &amp;)&gt; &amp;listener)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clearListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ace741978eb1b9050fe2aa0dd1d53e4cc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual size_t</type>
      <name>getNumberOfListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a3b83d5a7243203e2b58d822a35e36d95</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual ServiceState</type>
      <name>getValue</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>abdac03400552cb6eafc8b2373770152c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ObservableObject</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a895f3e16fe9bbec9f05090f7b98643e3</anchor>
      <arglist>(const ServiceState initialValue)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>setValue</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a55ed0b6043ea0b9aa935df369322d247</anchor>
      <arglist>(const ServiceState &amp;v)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ObservableObject</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>a43baac5f9c313969d8102837821a27e2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>broadcastToListeners</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ab167efc588c4ec226b95c9e2c7106170</anchor>
      <arglist>(const ServiceState &amp;currentValue)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::recursive_mutex</type>
      <name>listener_mutex_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ae9fe0efe02ae4744ef94997b64fb4539</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::list&lt; std::function&lt; void(ServiceState)&gt; &gt;</type>
      <name>listeners_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>af170ab6f2e11171895c95fef728f572e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; ServiceState &gt;</type>
      <name>value_</name>
      <anchorfile>classObservableObject.html</anchorfile>
      <anchor>ad61337282c58f33a3facad060bb4623d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ObservableObjectTest</name>
    <filename>classObservableObjectTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classObservableObjectTest.html</anchorfile>
      <anchor>a963c8c84020b64766aacac1a25f7e1d7</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classObservableObjectTest.html</anchorfile>
      <anchor>a613f3cf07be9d25b5d17ea518a9ff5c6</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; ObservableObject&lt; int &gt; &gt;</type>
      <name>testIntObservable</name>
      <anchorfile>classObservableObjectTest.html</anchorfile>
      <anchor>aca3a3e5d7891f7856533a5b0b555dda3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::ObservedBlockingQueue</name>
    <filename>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</filename>
    <templarg>T</templarg>
    <templarg>Allocator</templarg>
    <base>Aws::DataFlow::ObservedQueue</base>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>adbac192fefd01b9e7e2f265c2afe3975</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>ab10dda6a6efafcd899d5796b53f3a448</anchor>
      <arglist>(T &amp;data, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>empty</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a12db4bbd3698484fcdf2e2f6b953d99c</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a90ec3cf5185e7fb60d8be0b6f39fccc6</anchor>
      <arglist>(T &amp;&amp;value) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a1bd4920f98c7017d81a24f8208e3b60b</anchor>
      <arglist>(T &amp;value) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ObservedBlockingQueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a385ac40050d3967f42bee431ab873a64</anchor>
      <arglist>(const size_t &amp;max_queue_size)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>aca1f12e6ad189a7b5ee787b4ee96f39a</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a6fb81a9588b84481b57723da68267f01</anchor>
      <arglist>(T &amp;value, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>ab94926368e33e6898ead3da1496d1e98</anchor>
      <arglist>(T &amp;&amp;value, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ObservedBlockingQueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a7b3be819c2e1ccc59cb1ecd5b38ffc68</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>ObservedQueue&lt; T, Allocator &gt;</type>
      <name>OQ</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a859ed3439b8d474337bead75afe1bf73</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>std::function&lt; std::cv_status(std::unique_lock&lt; std::mutex &gt; &amp;)&gt;</type>
      <name>WaitFunc</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a13c33553bdd216ee2f5cffa1eed66f72</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>enqueueOnCondition</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a884ea6ec296301741734b5fbbcb6fff5</anchor>
      <arglist>(T &amp;value, const WaitFunc &amp;wait_func)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static std::cv_status</type>
      <name>wait</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>a5b15a31ff0e42aa4e88741b8cc5ba0a1</anchor>
      <arglist>(std::condition_variable &amp;condition_variable, std::unique_lock&lt; std::mutex &gt; &amp;lock)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>condition_variable_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>aa2a1c21cbec1d13b1ccbda6a2d875b33</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>dequeue_mutex_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>ae8b383bd302063b37ae13c8d167ce641</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>max_queue_size_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedBlockingQueue.html</anchorfile>
      <anchor>aebd8e503d3a86a64e87d4dd015371357</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::ObservedQueue</name>
    <filename>classAws_1_1DataFlow_1_1ObservedQueue.html</filename>
    <templarg>T</templarg>
    <templarg>Allocator</templarg>
    <base>Aws::DataFlow::IObservedQueue</base>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>aa9c68d147c378d0a54e927ee587f3d8b</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>ade5d55e0207d3010c8600e6328d3234b</anchor>
      <arglist>(T &amp;data, const std::chrono::microseconds &amp;) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>empty</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a5c470652470ec862f10449db67e05d4d</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>ab4ac098f359d29f0922f8c892e413b24</anchor>
      <arglist>(T &amp;&amp;value) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a790a0c983b2ba302bf440c29738f69f6</anchor>
      <arglist>(T &amp;value) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setStatusMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>aef0f7327c22866fd65966083eebc6e0b</anchor>
      <arglist>(std::shared_ptr&lt; StatusMonitor &gt; status_monitor) override</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>abf34b2b66e1d097588f8c2eb010ab095</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a7419a52fbd8a9b9a4f301382dbdf7b9c</anchor>
      <arglist>(T &amp;value, const std::chrono::microseconds &amp;) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a9593b5ac440f9e957cad9647256be172</anchor>
      <arglist>(T &amp;&amp;value, const std::chrono::microseconds &amp;) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ObservedQueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a1d95c81e39153528b3834d5a8ca07b02</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>notifyMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a9d3c73ef34f3368cfd25c5a70e537cde</anchor>
      <arglist>(const Status &amp;status)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::deque&lt; T, Allocator &gt;</type>
      <name>dequeue_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>aa6ac07baee0a1a4825c1299208c46e40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; StatusMonitor &gt;</type>
      <name>status_monitor_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedQueue.html</anchorfile>
      <anchor>a04d666f84882b58c0fc8d2ddf64b42ad</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::ObservedSynchronizedQueue</name>
    <filename>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</filename>
    <templarg>T</templarg>
    <templarg>Allocator</templarg>
    <base>Aws::DataFlow::ObservedQueue</base>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a1d9752c6e537c52c69c16305a53c9862</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>abf87b73559f0c1e33b0cb8058d9dbb99</anchor>
      <arglist>(T &amp;data, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>empty</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>aa4ffc2fbcea1a77255a3caaf859c8d8b</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a9c9deb748de589b10a5f9c9ff10d932e</anchor>
      <arglist>(T &amp;&amp;value) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a21957b1bc5384fd28137ba7a86af63ed</anchor>
      <arglist>(T &amp;value) override</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a77263f1d1fd0513d4922f2bdf37393e4</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a8b387ebe7911d468d7336bc30d8489c4</anchor>
      <arglist>(T &amp;value, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>aa82bce30087f32b414624635b029237b</anchor>
      <arglist>(T &amp;&amp;value, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ObservedSynchronizedQueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a3c39b01c15974b29095f2355384f1661</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>std::timed_mutex</type>
      <name>DequeueMutex</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a25881bc06e38e7a9e45f9a2ccceda23a</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>ObservedQueue&lt; T, Allocator &gt;</type>
      <name>OQ</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a3c609a6264b8df578e2cde7791aecd95</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>DequeueMutex</type>
      <name>dequeue_mutex_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ObservedSynchronizedQueue.html</anchorfile>
      <anchor>a057e0060e75c32054c97029bfd683b47</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::OutputStage</name>
    <filename>classAws_1_1DataFlow_1_1OutputStage.html</filename>
    <templarg>O</templarg>
    <member kind="function">
      <type>std::shared_ptr&lt; Sink&lt; O &gt; &gt;</type>
      <name>getSink</name>
      <anchorfile>classAws_1_1DataFlow_1_1OutputStage.html</anchorfile>
      <anchor>ac82c6b08d3ecee625e1e510a23e0c1a5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::enable_if&lt; std::is_base_of&lt; Sink&lt; O &gt;, T &gt;::value, std::shared_ptr&lt; T &gt; &gt;::type</type>
      <name>setSink</name>
      <anchorfile>classAws_1_1DataFlow_1_1OutputStage.html</anchorfile>
      <anchor>a2ee0e1c5b88196d2192c6982d2a8c9d9</anchor>
      <arglist>(std::shared_ptr&lt; T &gt; sink)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; Sink&lt; O &gt; &gt;</type>
      <name>sink_</name>
      <anchorfile>classAws_1_1DataFlow_1_1OutputStage.html</anchorfile>
      <anchor>a66e2104b88391f4e8d28b484201e04da</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>Aws::DataFlow::PriorityOptions</name>
    <filename>structAws_1_1DataFlow_1_1PriorityOptions.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator&lt;</name>
      <anchorfile>structAws_1_1DataFlow_1_1PriorityOptions.html</anchorfile>
      <anchor>a17ffd24eaf5fc30009f0a4e18838b2d7</anchor>
      <arglist>(const PriorityOptions &amp;other) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator&gt;</name>
      <anchorfile>structAws_1_1DataFlow_1_1PriorityOptions.html</anchorfile>
      <anchor>a346a43235c1cc3e61921d959cd30ee6e</anchor>
      <arglist>(const PriorityOptions &amp;other) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PriorityOptions</name>
      <anchorfile>structAws_1_1DataFlow_1_1PriorityOptions.html</anchorfile>
      <anchor>ae41020b34424d415ef6186083bb74232</anchor>
      <arglist>(PriorityLevel level=MEDIUM_PRIORITY)</arglist>
    </member>
    <member kind="variable">
      <type>PriorityLevel</type>
      <name>priority_level</name>
      <anchorfile>structAws_1_1DataFlow_1_1PriorityOptions.html</anchorfile>
      <anchor>a6be763e9a9d5d82d372861c371c35e33</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Publisher</name>
    <filename>classPublisher.html</filename>
    <templarg>T</templarg>
    <base>Aws::DataFlow::IPublisher</base>
    <base>Service</base>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>addPublisherStateListener</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a5edb13a520baffe39298d5d262cf0575</anchor>
      <arglist>(const std::function&lt; void(const PublisherState &amp;)&gt; &amp;listener)</arglist>
    </member>
    <member kind="function">
      <type>Aws::DataFlow::UploadStatus</type>
      <name>attemptPublish</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a9da0ef438a57cc386860fb6ee4b3483c</anchor>
      <arglist>(T &amp;data) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>canPublish</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a02d0cd81cb3599d4029278a06e0371be</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::chrono::milliseconds</type>
      <name>getLastPublishDuration</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>ac8143b3199696d7a6c655e5e636adbc2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getPublishAttempts</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a161935d37692bdd98835bf4bcd825cf4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>PublisherState</type>
      <name>getPublisherState</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a38549c80fe3b933c535cfd18ff31473d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getPublishSuccesses</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a7ed1b33c40ebc5409d60e17abb8687e3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>getPublishSuccessPercentage</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>aab24777df1509484f587617ed9219f6e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Publisher</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>af64451f9850aa57b01372b3d849fe5b9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a161229f7c6749b87cda82ff8c9927d5d</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Publisher</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>add0b44af69f0cdb3193e34790870d12d</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual Aws::DataFlow::UploadStatus</type>
      <name>publishData</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a8421b5e17bf29c33467fb4cc3f2ba6fb</anchor>
      <arglist>(T &amp;data)=0</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; std::chrono::milliseconds &gt;</type>
      <name>last_publish_duration_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a384200405db97b2297d2834507ac1389</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; int &gt;</type>
      <name>publish_attempts_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a4c002aa7291aaddb7e5cbc76d33efbb2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>publish_mutex_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>aef4cb02f9bb8ab7b98d2fb1dd0bcca02</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; int &gt;</type>
      <name>publish_successes_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a053a7c9292ba812549ecf1853e41cc6a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ObservableObject&lt; PublisherState &gt;</type>
      <name>publisher_state_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a77a33508fe8c89b36d0f26c7141d7208</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Publisher&lt; std::string &gt;</name>
    <filename>classPublisher.html</filename>
    <base>IPublisher&lt; std::string &gt;</base>
    <base>Service</base>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>addPublisherStateListener</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a5edb13a520baffe39298d5d262cf0575</anchor>
      <arglist>(const std::function&lt; void(const PublisherState &amp;)&gt; &amp;listener)</arglist>
    </member>
    <member kind="function">
      <type>Aws::DataFlow::UploadStatus</type>
      <name>attemptPublish</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a9da0ef438a57cc386860fb6ee4b3483c</anchor>
      <arglist>(std::string &amp;data) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>canPublish</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a02d0cd81cb3599d4029278a06e0371be</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::chrono::milliseconds</type>
      <name>getLastPublishDuration</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>ac8143b3199696d7a6c655e5e636adbc2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getPublishAttempts</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a161935d37692bdd98835bf4bcd825cf4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>PublisherState</type>
      <name>getPublisherState</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a38549c80fe3b933c535cfd18ff31473d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getPublishSuccesses</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a7ed1b33c40ebc5409d60e17abb8687e3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>getPublishSuccessPercentage</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>aab24777df1509484f587617ed9219f6e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Publisher</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>af64451f9850aa57b01372b3d849fe5b9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a161229f7c6749b87cda82ff8c9927d5d</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Publisher</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>add0b44af69f0cdb3193e34790870d12d</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual Aws::DataFlow::UploadStatus</type>
      <name>publishData</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a8421b5e17bf29c33467fb4cc3f2ba6fb</anchor>
      <arglist>(std::string &amp;data)=0</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; std::chrono::milliseconds &gt;</type>
      <name>last_publish_duration_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a384200405db97b2297d2834507ac1389</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; int &gt;</type>
      <name>publish_attempts_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a4c002aa7291aaddb7e5cbc76d33efbb2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>publish_mutex_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>aef4cb02f9bb8ab7b98d2fb1dd0bcca02</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; int &gt;</type>
      <name>publish_successes_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a053a7c9292ba812549ecf1853e41cc6a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ObservableObject&lt; PublisherState &gt;</type>
      <name>publisher_state_</name>
      <anchorfile>classPublisher.html</anchorfile>
      <anchor>a77a33508fe8c89b36d0f26c7141d7208</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>PublisherTest</name>
    <filename>classPublisherTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classPublisherTest.html</anchorfile>
      <anchor>a850d89e22262fb2ab5bfb6555bb46f4b</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classPublisherTest.html</anchorfile>
      <anchor>a4c4726c0d9675cb61e309af496d1ae47</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; SimpleTestPublisher &gt;</type>
      <name>test_publisher</name>
      <anchorfile>classPublisherTest.html</anchorfile>
      <anchor>a77a811f6d86ea7413cb9cb45c82ad03a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::QueueDemux</name>
    <filename>classAws_1_1DataFlow_1_1QueueDemux.html</filename>
    <templarg></templarg>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>addSource</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueDemux.html</anchorfile>
      <anchor>a38e4170a568ff1d20ceccdcdc3476e39</anchor>
      <arglist>(std::shared_ptr&lt; IObservedQueue&lt; T &gt;&gt;, PriorityOptions)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~QueueDemux</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueDemux.html</anchorfile>
      <anchor>a079514b9c113bda0579cbf23ec2838c8</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::QueueMonitor</name>
    <filename>classAws_1_1DataFlow_1_1QueueMonitor.html</filename>
    <templarg>T</templarg>
    <base>Aws::DataFlow::QueueDemux</base>
    <base>Aws::DataFlow::MultiStatusConditionMonitor</base>
    <base>Aws::DataFlow::Source</base>
    <class kind="struct">Aws::DataFlow::QueueMonitor::QueuePriorityPair</class>
    <member kind="function">
      <type>void</type>
      <name>addSource</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueMonitor.html</anchorfile>
      <anchor>a9e811d8f437fc77c3ec50d50b48c5757</anchor>
      <arglist>(std::shared_ptr&lt; IObservedQueue&lt; T &gt;&gt;observed_queue, PriorityOptions priority_options) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueMonitor.html</anchorfile>
      <anchor>a8fdee73a986651b3d6c4a2896677046b</anchor>
      <arglist>(T &amp;data, const std::chrono::microseconds &amp;duration) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>QueueMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueMonitor.html</anchorfile>
      <anchor>af94a248782352e393a01c433334e453a</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~QueueMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueMonitor.html</anchorfile>
      <anchor>a0d2f8a00c7b2bafec4f181600e06ce22</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>hasWork</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueMonitor.html</anchorfile>
      <anchor>ad6df342a3f49ce23bf53e83f60cf142c</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; QueuePriorityPair &gt;</type>
      <name>priority_vector_</name>
      <anchorfile>classAws_1_1DataFlow_1_1QueueMonitor.html</anchorfile>
      <anchor>a65681650c1a0ba8b8043871608332aec</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>Aws::DataFlow::QueueMonitor::QueuePriorityPair</name>
    <filename>structAws_1_1DataFlow_1_1QueueMonitor_1_1QueuePriorityPair.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator&lt;</name>
      <anchorfile>structAws_1_1DataFlow_1_1QueueMonitor_1_1QueuePriorityPair.html</anchorfile>
      <anchor>ab20df50e01b0bb043888af317613a050</anchor>
      <arglist>(const QueuePriorityPair &amp;pair) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator&gt;</name>
      <anchorfile>structAws_1_1DataFlow_1_1QueueMonitor_1_1QueuePriorityPair.html</anchorfile>
      <anchor>ac8caea0f6eab6d05b1b6647f8a66e734</anchor>
      <arglist>(const QueuePriorityPair &amp;pair) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>QueuePriorityPair</name>
      <anchorfile>structAws_1_1DataFlow_1_1QueueMonitor_1_1QueuePriorityPair.html</anchorfile>
      <anchor>a94553f62e4a6ab9402af0f147a945a0b</anchor>
      <arglist>(std::shared_ptr&lt; IObservedQueue&lt; T &gt;&gt; queue, PriorityOptions options)</arglist>
    </member>
    <member kind="variable">
      <type>std::shared_ptr&lt; IObservedQueue&lt; T &gt; &gt;</type>
      <name>observed_queue</name>
      <anchorfile>structAws_1_1DataFlow_1_1QueueMonitor_1_1QueuePriorityPair.html</anchorfile>
      <anchor>abd86586ab44c3511e404fd4078cb983e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>PriorityOptions</type>
      <name>priority_options</name>
      <anchorfile>structAws_1_1DataFlow_1_1QueueMonitor_1_1QueuePriorityPair.html</anchorfile>
      <anchor>acf874f2d7f0b6c1a025b6b3e7b62fbe5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RunnableService</name>
    <filename>classRunnableService.html</filename>
    <base>Service</base>
    <member kind="function">
      <type>std::string</type>
      <name>getStatusString</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a6e4c0f197f3914f0f9c4e2d059c8c976</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>isRunning</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a57eb32dfb0c6e1e6e1873657bd077cf1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>join</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a84ac247b5a4430800869d12eb2e20698</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>RunnableService</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a63924691b6064c0f1018663e73e914a3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>af52c96035b3c4f7af4fabcae249c5d2c</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>start</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a37a6c2c64196e39ef2f627dc5e911532</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>waitForShutdown</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a84ed09888b08daf0fb4f9ae50722fa91</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>waitForShutdown</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a24ee2b0a4dd0e6816c06d1a627ea7d65</anchor>
      <arglist>(std::chrono::milliseconds millis)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~RunnableService</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a7e448fb4a6aa0d098ae5345982c037b2</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a81b8244cb5c6efbd996dc02346173800</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>startWorkerThread</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>ab59630f14f2105c9b10cbd11bfca42c4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>stopWorkerThread</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a5f6be2c4da53d751602793f7c1c74582</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual void</type>
      <name>work</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>acc8f20478ec2448ad2f702c54cb9703d</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>cv_</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a9318e60d1fba5bacc12d735605d3bd69</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>mtx_</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a973d67878705b2dd4bcf10ffeb4ce112</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>runnable_thread_</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a75819c8c9d6ef24f2d43563fc9ae778f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; bool &gt;</type>
      <name>should_run_</name>
      <anchorfile>classRunnableService.html</anchorfile>
      <anchor>a24487e37e3b3c8aa47b779d61ea17f32</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RunnableServiceTest</name>
    <filename>classRunnableServiceTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classRunnableServiceTest.html</anchorfile>
      <anchor>a0548044ec41cf9b62e6c3e15cdb00c31</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classRunnableServiceTest.html</anchorfile>
      <anchor>a207e1e18d554975c4784fd4de1cb9524</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; HardWorker &gt;</type>
      <name>hard_worker</name>
      <anchorfile>classRunnableServiceTest.html</anchorfile>
      <anchor>a6bbba1d7c7c400b7f73462845f5284e2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Service</name>
    <filename>classService.html</filename>
    <member kind="function">
      <type>ServiceState</type>
      <name>getState</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>a049cfbd218aca9c2b80bd53002a75c29</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual std::string</type>
      <name>getStatusString</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>a980cb55199077a0edbccbe24bb5ef3ae</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Service</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>acc246c9f7ed3c51e2d91d10fe257513f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>shutdown</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>adfda617dd8d1b901a2fe8cb69be74556</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>start</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>a95281458f24e72fabf6aa2aa21fd1514</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Service</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>a9b798149b90cbdb1f1c66f740db5864b</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setState</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>a1331f1cdf2509e1ef36c07378abb4dff</anchor>
      <arglist>(ServiceState new_state)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ObservableObject&lt; ServiceState &gt;</type>
      <name>state_</name>
      <anchorfile>classService.html</anchorfile>
      <anchor>aa204ef4c644a4e6fc5d434c5b38626ae</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ServiceTest</name>
    <filename>classServiceTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classServiceTest.html</anchorfile>
      <anchor>ad0607974315450cf712d9a8e6a466680</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classServiceTest.html</anchorfile>
      <anchor>a3b6bfa8bc0faeb151cc8c6d67ce947d6</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; Service &gt;</type>
      <name>test_service</name>
      <anchorfile>classServiceTest.html</anchorfile>
      <anchor>a6a0e76b0d53bdb325ac4c507381a458b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>SimpleTestPublisher</name>
    <filename>classSimpleTestPublisher.html</filename>
    <base>Publisher&lt; std::string &gt;</base>
    <member kind="function">
      <type>Aws::DataFlow::UploadStatus</type>
      <name>publishData</name>
      <anchorfile>classSimpleTestPublisher.html</anchorfile>
      <anchor>a6a4c6e1aeef53cbcc2b32636ef72bcfe</anchor>
      <arglist>(std::string &amp;data) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setShouldSucceed</name>
      <anchorfile>classSimpleTestPublisher.html</anchorfile>
      <anchor>a58e753c0c1b1db7dd2c52902be670571</anchor>
      <arglist>(bool nv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SimpleTestPublisher</name>
      <anchorfile>classSimpleTestPublisher.html</anchorfile>
      <anchor>a180fd8fd4db3bf9e931e3ebd3f9c195b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~SimpleTestPublisher</name>
      <anchorfile>classSimpleTestPublisher.html</anchorfile>
      <anchor>a6bbcbb5a2745ce4dab0af887105ce766</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>last_data</name>
      <anchorfile>classSimpleTestPublisher.html</anchorfile>
      <anchor>a62a8356291f9705c9cf3ace295966198</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>should_succeed_</name>
      <anchorfile>classSimpleTestPublisher.html</anchorfile>
      <anchor>a9453a585386b9cdcdf7f23b3411b3fba</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::Sink</name>
    <filename>classAws_1_1DataFlow_1_1Sink.html</filename>
    <templarg>T</templarg>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>clear</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>ae17036c7da0f48b746d7d80a8c02396b</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>a7fb5322ac45a5271bcb2a90bc74125a0</anchor>
      <arglist>(T &amp;&amp;value)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>a9f63160ffd75c3217ddc24a4efe9a495</anchor>
      <arglist>(T &amp;value)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>a2ec70245e4fa6256049a73e8416a517e</anchor>
      <arglist>(T &amp;value, const std::chrono::microseconds &amp;duration)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>ac9267f4747830e3da18933cf69dadbcf</anchor>
      <arglist>(T &amp;&amp;value, const std::chrono::microseconds &amp;duration)=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Sink&lt; std::string &gt;</name>
    <filename>classAws_1_1DataFlow_1_1Sink.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>clear</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>ae17036c7da0f48b746d7d80a8c02396b</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>a7fb5322ac45a5271bcb2a90bc74125a0</anchor>
      <arglist>(std::string &amp;&amp;value)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>a9f63160ffd75c3217ddc24a4efe9a495</anchor>
      <arglist>(std::string &amp;value)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>a2ec70245e4fa6256049a73e8416a517e</anchor>
      <arglist>(std::string &amp;value, const std::chrono::microseconds &amp;duration)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>tryEnqueue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Sink.html</anchorfile>
      <anchor>ac9267f4747830e3da18933cf69dadbcf</anchor>
      <arglist>(std::string &amp;&amp;value, const std::chrono::microseconds &amp;duration)=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::Source</name>
    <filename>classAws_1_1DataFlow_1_1Source.html</filename>
    <templarg>T</templarg>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>dequeue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Source.html</anchorfile>
      <anchor>a2c3bb60cba4ee5982929076bdb72d515</anchor>
      <arglist>(T &amp;, const std::chrono::microseconds &amp;duration)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Source</name>
      <anchorfile>classAws_1_1DataFlow_1_1Source.html</anchorfile>
      <anchor>a3e680d72b359d0ebc6afaed413c2f38a</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Source&lt; std::string &gt;</name>
    <filename>classAws_1_1DataFlow_1_1Source.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>dequeue</name>
      <anchorfile>classAws_1_1DataFlow_1_1Source.html</anchorfile>
      <anchor>a2c3bb60cba4ee5982929076bdb72d515</anchor>
      <arglist>(std::string &amp;, const std::chrono::microseconds &amp;duration)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Source</name>
      <anchorfile>classAws_1_1DataFlow_1_1Source.html</anchorfile>
      <anchor>a3e680d72b359d0ebc6afaed413c2f38a</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::StatusMonitor</name>
    <filename>classAws_1_1DataFlow_1_1StatusMonitor.html</filename>
    <member kind="function">
      <type>Status</type>
      <name>getStatus</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>a4aabd2b767ddac7e412f2a47a5e7b72c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setStatus</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>ad006f32ef23f4e837b147a2202a371ec</anchor>
      <arglist>(const Status &amp;status)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~StatusMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>a939b0145a48d47ba1c9923342e81f588</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setStatusObserver</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>a0f1b07f8668d2d4f05425e69a29244e8</anchor>
      <arglist>(MultiStatusConditionMonitor *multi_status_cond)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MultiStatusConditionMonitor *</type>
      <name>multi_status_cond_</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>a7cac2bd009149a3c52026cb2e29d4fba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>friend</type>
      <name>MultiStatusConditionMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>ac61006d36c161340596f902e4d796be5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Status</type>
      <name>status_</name>
      <anchorfile>classAws_1_1DataFlow_1_1StatusMonitor.html</anchorfile>
      <anchor>a6d3e1f6efc99cb08f26881d62ad497f1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::Task</name>
    <filename>classAws_1_1DataFlow_1_1Task.html</filename>
    <templarg></templarg>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>cancel</name>
      <anchorfile>classAws_1_1DataFlow_1_1Task.html</anchorfile>
      <anchor>ab8d1c43deefdfb74d2ed70174fc69487</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual T &amp;</type>
      <name>getBatchData</name>
      <anchorfile>classAws_1_1DataFlow_1_1Task.html</anchorfile>
      <anchor>a6207b2be94970d5c628718eb4baf6509</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>onComplete</name>
      <anchorfile>classAws_1_1DataFlow_1_1Task.html</anchorfile>
      <anchor>ac9aceafba7542ea12e737f1c6641bff7</anchor>
      <arglist>(const UploadStatus &amp;status)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classAws_1_1DataFlow_1_1Task.html</anchorfile>
      <anchor>a375b0cb663b6f9f40303737490051b2e</anchor>
      <arglist>(std::shared_ptr&lt; IPublisher&lt; T &gt;&gt; publisher)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Task</name>
      <anchorfile>classAws_1_1DataFlow_1_1Task.html</anchorfile>
      <anchor>ab4f4604482582cf58aaee3ac1ed3d0a0</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>TestBatcher</name>
    <filename>classTestBatcher.html</filename>
    <base>DataBatcher&lt; int &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>publishBatchedData</name>
      <anchorfile>classTestBatcher.html</anchorfile>
      <anchor>acebcb993d46d8fe01d4f9ae80b4bf952</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>shutdown</name>
      <anchorfile>classTestBatcher.html</anchorfile>
      <anchor>ab73780f081fb611073fd2e4439ce7f87</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>start</name>
      <anchorfile>classTestBatcher.html</anchorfile>
      <anchor>ad911649c3f24e18bb0b588a6a7739926</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TestBatcher</name>
      <anchorfile>classTestBatcher.html</anchorfile>
      <anchor>ad8a4ce018f97d8486ad94509dd4a62a6</anchor>
      <arglist>(size_t max_allowable_batch_size=DataBatcher::kDefaultMaxBatchSize, size_t publish_trigger_size=DataBatcher::kDefaultTriggerSize)</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>pub_called</name>
      <anchorfile>classTestBatcher.html</anchorfile>
      <anchor>a4236f220725a2cd5d8a5d7d32c530dbc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::DataFlow::ThreadMonitor</name>
    <filename>classAws_1_1DataFlow_1_1ThreadMonitor.html</filename>
    <member kind="function">
      <type>void</type>
      <name>notify</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>aaa5b316558df8cb57d05449a547365b1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>waitForWork</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>abe1348e6fafb70cd904d017c3b225d9e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::cv_status</type>
      <name>waitForWork</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>ada3025317f3000d5e4b4f90b0555c210</anchor>
      <arglist>(const std::chrono::microseconds &amp;duration)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ThreadMonitor</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>a9ea96442e75e54b177ce5b970c715f75</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function" protection="private" virtualness="pure">
      <type>virtual bool</type>
      <name>hasWork</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>aecb09d35fc2e985476211ddbe8fa0331</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>idle_mutex_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>a1e0a7833ef1e1d017e2a18c62b9546fa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>work_condition_</name>
      <anchorfile>classAws_1_1DataFlow_1_1ThreadMonitor.html</anchorfile>
      <anchor>ad2785b4f51c03a3455d34b382bc85bfb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>Aws::DataFlow::UploaderOptions</name>
    <filename>structAws_1_1DataFlow_1_1UploaderOptions.html</filename>
    <member kind="variable">
      <type>size_t</type>
      <name>batch_max_queue_size</name>
      <anchorfile>structAws_1_1DataFlow_1_1UploaderOptions.html</anchorfile>
      <anchor>abfba42234f8e244e649706b02833cb30</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>batch_trigger_publish_size</name>
      <anchorfile>structAws_1_1DataFlow_1_1UploaderOptions.html</anchorfile>
      <anchor>abee327c22a1f975f7ab16f5862237275</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>file_max_queue_size</name>
      <anchorfile>structAws_1_1DataFlow_1_1UploaderOptions.html</anchorfile>
      <anchor>a771cadca289eb686a927105a16c1e748</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>file_upload_batch_size</name>
      <anchorfile>structAws_1_1DataFlow_1_1UploaderOptions.html</anchorfile>
      <anchor>a43593d779a1843653537f8c57f01adbd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>stream_max_queue_size</name>
      <anchorfile>structAws_1_1DataFlow_1_1UploaderOptions.html</anchorfile>
      <anchor>ad389faaaf866d1105affc4463e0e40bf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Waiter</name>
    <filename>classWaiter.html</filename>
    <member kind="function">
      <type>void</type>
      <name>notify</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>a19a286d28524b0bc9a5f1419554a159e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>wait</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>a490993012831495e0fc97483b1aa4e54</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>wait_for</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>aa62e9a0aec8debff52e1e51fe43ed0a0</anchor>
      <arglist>(std::chrono::seconds seconds)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>wait_for_millis</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>a6c0b46027fc34b8f0434f1b2a7c8ccb8</anchor>
      <arglist>(std::chrono::milliseconds millis)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Waiter</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>ab2de094297c57ac00eb4359cc4dd9ad8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Waiter</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>a4316579f883932f1443b3c867d15a0a2</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>cv</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>a5eb7c9be5152db31737024c031ee54fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>mtx</name>
      <anchorfile>classWaiter.html</anchorfile>
      <anchor>a3741da81859ccb31bf60341ad5597f5f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>Aws</name>
    <filename>namespaceAws.html</filename>
    <namespace>Aws::CloudWatch</namespace>
    <namespace>Aws::DataFlow</namespace>
  </compound>
  <compound kind="namespace">
    <name>Aws::CloudWatch</name>
    <filename>namespaceAws_1_1CloudWatch.html</filename>
    <class kind="class">Aws::CloudWatch::CloudWatchService</class>
    <member kind="variable" static="yes">
      <type>static const std::chrono::milliseconds</type>
      <name>kDequeueDuration</name>
      <anchorfile>namespaceAws_1_1CloudWatch.html</anchorfile>
      <anchor>a5e8d30ac27e26a87fc993c3742723eae</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>Aws::DataFlow</name>
    <filename>namespaceAws_1_1DataFlow.html</filename>
    <class kind="class">Aws::DataFlow::BasicTask</class>
    <class kind="class">Aws::DataFlow::InputStage</class>
    <class kind="class">Aws::DataFlow::IObservedQueue</class>
    <class kind="class">Aws::DataFlow::IPublisher</class>
    <class kind="class">Aws::DataFlow::MaskFactory</class>
    <class kind="class">Aws::DataFlow::MultiStatusConditionMonitor</class>
    <class kind="class">Aws::DataFlow::ObservedBlockingQueue</class>
    <class kind="class">Aws::DataFlow::ObservedQueue</class>
    <class kind="class">Aws::DataFlow::ObservedSynchronizedQueue</class>
    <class kind="class">Aws::DataFlow::OutputStage</class>
    <class kind="struct">Aws::DataFlow::PriorityOptions</class>
    <class kind="class">Aws::DataFlow::QueueDemux</class>
    <class kind="class">Aws::DataFlow::QueueMonitor</class>
    <class kind="class">Aws::DataFlow::Sink</class>
    <class kind="class">Aws::DataFlow::Source</class>
    <class kind="class">Aws::DataFlow::StatusMonitor</class>
    <class kind="class">Aws::DataFlow::Task</class>
    <class kind="class">Aws::DataFlow::ThreadMonitor</class>
    <class kind="struct">Aws::DataFlow::UploaderOptions</class>
    <member kind="typedef">
      <type>std::function&lt; void(const Status &amp;upload_status, const T &amp;message)&gt;</type>
      <name>UploadStatusFunction</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>ab4ffc7f4402aafbf1487adef1c5b2566</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>PriorityLevel</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LOWEST_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259caf1611a9e92c6da785d96cc71c83cc24f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LOW_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259ca1a95026a43401db057bf2ca8fcfe7adb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>MEDIUM_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259ca7a6cb8f85004eb4719a7eddd356ef19b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>HIGH_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259ca5e2e74d59029042cf200f939c87b00fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>HIGHEST_PRIORITY</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a234e877d96f14b7c6bd87ddf6d82259cac80e853a25bccab4cd3e942a4b24fe41</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>Status</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a8bc680d0995e9649e3483afd0acb3eaa</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNAVAILABLE</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a8bc680d0995e9649e3483afd0acb3eaaa1b0b9c44ebed8784df7c63e5ef450631</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>AVAILABLE</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a8bc680d0995e9649e3483afd0acb3eaaadc6af51498cc2d6d6f0f6efe8570a613</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>UploadStatus</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNKNOWN</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056ac9d2cff82a77f1ed4273dcf5f75d1fee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FAIL</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056a5237df2fb99f6abf342d9ccbef41bafc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SUCCESS</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056a9d3d2d8645cbd52f4e2615215153d124</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INVALID_DATA</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>adf624a33cd3a2ca418e6230530488056a5f11151ae5a9b40c4b500904c0096d45</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::enable_if&lt; std::is_base_of&lt; Sink&lt; T &gt;, O &gt;::value, std::shared_ptr&lt; O &gt; &gt;::type</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a17e8ff6e2b6a89aaa0cfdf22c60be2ad</anchor>
      <arglist>(OutputStage&lt; T &gt; &amp;output_stage, std::shared_ptr&lt; O &gt; sink)</arglist>
    </member>
    <member kind="function">
      <type>std::enable_if&lt; std::is_base_of&lt; QueueDemux&lt; T &gt;, O &gt;::value, std::shared_ptr&lt; O &gt; &gt;::type</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>af96180962f9892e10deceb3f843122c2</anchor>
      <arglist>(std::tuple&lt; std::shared_ptr&lt; ObservedQueue&lt; T &gt;&gt;, PriorityOptions &gt; observed_queue, std::shared_ptr&lt; O &gt; sink)</arglist>
    </member>
    <member kind="function">
      <type>std::tuple&lt; std::shared_ptr&lt; ObservedQueue&lt; T &gt; &gt;, PriorityOptions &gt;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a926ae10406a60ed1ec5829dad1d04431</anchor>
      <arglist>(std::shared_ptr&lt; ObservedQueue&lt; T &gt;&gt; observed_queue, PriorityLevel level)</arglist>
    </member>
    <member kind="function">
      <type>InputStage&lt; T &gt; &amp;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a5434c96a6da596dea0d53ed20c86ff03</anchor>
      <arglist>(std::shared_ptr&lt; O &gt; source, InputStage&lt; T &gt; &amp;inputStage)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr UploaderOptions</type>
      <name>kDefaultUploaderOptions</name>
      <anchorfile>namespaceAws_1_1DataFlow.html</anchorfile>
      <anchor>a801faf43fd9c07bcc4f1d468d3b8cc12</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
