#ifndef NETWORK_NETWORK_NODE_H
#define NETWORK_NETWORK_NODE_H

#include <cstdint>

#include "core/node.h"
#include "core/types.h"
#include "network/packet.h"

namespace dofs {

class NetworkNode : public Node {
public:

        explicit NetworkNode(Simulator *const sim, NodeId id, NodeType type) noexcept;

        virtual ~NetworkNode() = default;

        virtual void recv_pkt(Packet &pkt, PortId ingress) = 0;
};

} // namespace dofs

#endif // NETWORK_NETWORK_NODE_H
