chromium/mojo/core/channel_linux.h

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MOJO_CORE_CHANNEL_LINUX_H_
#define MOJO_CORE_CHANNEL_LINUX_H_

#include <atomic>
#include <memory>

#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "mojo/core/channel_posix.h"

namespace mojo {
namespace core {

class DataAvailableNotifier;

// ChannelLinux is a specialization of ChannelPosix which has support for shared
// memory via Mojo channel upgrades. By default on Linux, CrOS, and Android
// every channel will be of type ChannelLinux which can be upgraded at runtime
// to take advantage of shared memory when all required kernel features are
// present.
class MOJO_SYSTEM_IMPL_EXPORT ChannelLinux : public ChannelPosix {};

}  // namespace core
}  // namespace mojo

#endif  // MOJO_CORE_CHANNEL_LINUX_H_