Serenity Operating System
at master 31 lines 889 B view raw
1/* 2 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <Kernel/Net/NetworkAdapter.h> 10 11namespace Kernel { 12 13class LoopbackAdapter final : public NetworkAdapter { 14private: 15 LoopbackAdapter(NonnullOwnPtr<KString>); 16 17public: 18 static LockRefPtr<LoopbackAdapter> try_create(); 19 virtual ~LoopbackAdapter() override; 20 21 virtual ErrorOr<void> initialize(Badge<NetworkingManagement>) override { VERIFY_NOT_REACHED(); } 22 23 virtual void send_raw(ReadonlyBytes) override; 24 virtual StringView class_name() const override { return "LoopbackAdapter"sv; } 25 virtual Type adapter_type() const override { return Type::Loopback; } 26 virtual bool link_up() override { return true; } 27 virtual bool link_full_duplex() override { return true; } 28 virtual int link_speed() override { return 1000; } 29}; 30 31}