#include "mojo/public/cpp/bindings/direct_receiver.h"
#include "base/check.h"
#include "base/memory/ptr_util.h"
#include "base/task/single_thread_task_runner.h"
#include "mojo/core/embedder/embedder.h"
#include "mojo/core/ipcz_api.h"
#include "mojo/core/ipcz_driver/driver.h"
#include "mojo/core/ipcz_driver/transport.h"
#include "mojo/public/cpp/system/handle.h"
#include "third_party/ipcz/include/ipcz/ipcz.h"
namespace mojo::internal {
namespace {
thread_local ThreadLocalNode* g_thread_local_node;
}
ThreadLocalNode::ThreadLocalNode(base::PassKey<ThreadLocalNode>)
: … { … }
ThreadLocalNode::~ThreadLocalNode() { … }
scoped_refptr<ThreadLocalNode> ThreadLocalNode::Get() { … }
bool ThreadLocalNode::CurrentThreadHasInstance() { … }
ScopedMessagePipeHandle ThreadLocalNode::AdoptPipe(
ScopedMessagePipeHandle pipe) { … }
void ThreadLocalNode::WatchForIncomingTransfers() { … }
void ThreadLocalNode::OnTrapEvent(const IpczTrapEvent* event) { … }
void ThreadLocalNode::OnTransferredPortalAvailable() { … }
}
namespace mojo {
bool IsDirectReceiverSupported() { … }
}