// Copyright 2021 The Fuchsia 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 SRC_VIRTUALIZATION_TESTS_LIB_FAKE_NETSTACK_INTERNAL_H_
#define SRC_VIRTUALIZATION_TESTS_LIB_FAKE_NETSTACK_INTERNAL_H_

#include <lib/fpromise/promise.h>
#include <zircon/status.h>

#include <vector>

namespace fake_netstack::internal {

class DeviceInterface {
 public:
  virtual ~DeviceInterface() = default;

  // Read the first available packet from the device.
  virtual fpromise::promise<std::vector<uint8_t>, zx_status_t> ReadPacket() = 0;

  // Send a packet to the device.
  virtual fpromise::promise<void, zx_status_t> WritePacket(std::vector<uint8_t> packet) = 0;
};

}  // namespace fake_netstack::internal

#endif  // SRC_VIRTUALIZATION_TESTS_LIB_FAKE_NETSTACK_INTERNAL_H_
