diff options
Diffstat (limited to 'mojo/edk/system/awakable_list.h')
-rw-r--r-- | mojo/edk/system/awakable_list.h | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/mojo/edk/system/awakable_list.h b/mojo/edk/system/awakable_list.h deleted file mode 100644 index 19c03c8..0000000 --- a/mojo/edk/system/awakable_list.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef MOJO_EDK_SYSTEM_AWAKABLE_LIST_H_ -#define MOJO_EDK_SYSTEM_AWAKABLE_LIST_H_ - -#include <stdint.h> - -#include <list> - -#include "base/macros.h" -#include "mojo/edk/system/system_impl_export.h" -#include "mojo/public/c/system/types.h" - -namespace mojo { -namespace system { - -class Awakable; -struct HandleSignalsState; - -// |AwakableList| tracks all the |Waiter|s that are waiting on a given -// handle/|Dispatcher|. There should be a |AwakableList| for each handle that -// can be waited on (in any way). In the simple case, the |AwakableList| is -// owned by the |Dispatcher|, whereas in more complex cases it is owned by the -// secondary object (see simple_dispatcher.* and the explanatory comment in -// core.cc). This class is thread-unsafe (all concurrent access must be -// protected by some lock). -class MOJO_SYSTEM_IMPL_EXPORT AwakableList { - public: - AwakableList(); - ~AwakableList(); - - void AwakeForStateChange(const HandleSignalsState& state); - void CancelAll(); - void Add(Awakable* awakable, MojoHandleSignals signals, uint32_t context); - void Remove(Awakable* awakable); - - private: - struct AwakeInfo { - AwakeInfo(Awakable* awakable, MojoHandleSignals signals, uint32_t context) - : awakable(awakable), signals(signals), context(context) {} - - Awakable* awakable; - MojoHandleSignals signals; - uint32_t context; - }; - typedef std::list<AwakeInfo> AwakeInfoList; - - AwakeInfoList awakables_; - - DISALLOW_COPY_AND_ASSIGN(AwakableList); -}; - -} // namespace system -} // namespace mojo - -#endif // MOJO_EDK_SYSTEM_AWAKABLE_LIST_H_ |