/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace Kernel { class LoopbackAdapter final : public NetworkAdapter { private: LoopbackAdapter(StringView); public: static ErrorOr> try_create(); virtual ~LoopbackAdapter() override; virtual ErrorOr initialize(Badge) override { VERIFY_NOT_REACHED(); } virtual void send_raw(ReadonlyBytes) override; virtual StringView class_name() const override { return "LoopbackAdapter"sv; } virtual Type adapter_type() const override { return Type::Loopback; } virtual bool link_up() override { return true; } virtual bool link_full_duplex() override { return true; } virtual int link_speed() override { return 1000; } }; }