This source file includes following definitions.
- OnHandleReady
 
- CancelWait
 
- GetDefaultAsyncWaiterImpl
 
#include "mojo/environment/default_async_waiter_impl.h"
#include "base/bind.h"
#include "mojo/common/handle_watcher.h"
namespace mojo {
namespace internal {
namespace {
void OnHandleReady(common::HandleWatcher* watcher,
                   MojoAsyncWaitCallback callback,
                   void* closure,
                   MojoResult result) {
  delete watcher;
  callback(closure, result);
}
MojoAsyncWaitID AsyncWait(MojoAsyncWaiter* waiter,
                          MojoHandle handle,
                          MojoWaitFlags flags,
                          MojoDeadline deadline,
                          MojoAsyncWaitCallback callback,
                          void* closure) {
  
  common::HandleWatcher* watcher = new common::HandleWatcher();
  watcher->Start(Handle(handle), flags, deadline,
                 base::Bind(&OnHandleReady, watcher, callback, closure));
  return reinterpret_cast<MojoAsyncWaitID>(watcher);
}
void CancelWait(MojoAsyncWaiter* waiter, MojoAsyncWaitID wait_id) {
  delete reinterpret_cast<common::HandleWatcher*>(wait_id);
}
MojoAsyncWaiter s_default_async_waiter = {
  AsyncWait,
  CancelWait
};
}  
MojoAsyncWaiter* GetDefaultAsyncWaiterImpl() {
  return &s_default_async_waiter;
}
}  
}