chromium/net/third_party/quiche/src/quiche/quic/test_tools/simulator/port.h

// Copyright (c) 2012 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 QUICHE_QUIC_TEST_TOOLS_SIMULATOR_PORT_H_
#define QUICHE_QUIC_TEST_TOOLS_SIMULATOR_PORT_H_

#include <string>
#include <utility>

#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/test_tools/simulator/actor.h"

namespace quic {
namespace simulator {

struct Packet {};

// An interface for anything that accepts packets at arbitrary rate.
class UnconstrainedPortInterface {};

// An interface for any device that accepts packets at a specific rate.
// Typically one would use a Queue object in order to write into a constrained
// port.
class ConstrainedPortInterface {};

// A convenience class for any network endpoints, i.e. the objects which can
// both accept and send packets.
class Endpoint : public Actor {};

}  // namespace simulator
}  // namespace quic

#endif  // QUICHE_QUIC_TEST_TOOLS_SIMULATOR_PORT_H_