mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 15:34:58 +00:00
Kernel: Add on_receive callback to NetworkAdapter
This commit is contained in:
parent
682fe48222
commit
36d349f7a7
2 changed files with 5 additions and 0 deletions
|
@ -88,6 +88,8 @@ void NetworkAdapter::did_receive(const u8* data, int length)
|
||||||
m_packets_in++;
|
m_packets_in++;
|
||||||
m_bytes_in += length;
|
m_bytes_in += length;
|
||||||
m_packet_queue.append(KBuffer::copy(data, length));
|
m_packet_queue.append(KBuffer::copy(data, length));
|
||||||
|
if (m_on_receive)
|
||||||
|
m_on_receive();
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<KBuffer> NetworkAdapter::dequeue_packet()
|
Optional<KBuffer> NetworkAdapter::dequeue_packet()
|
||||||
|
|
|
@ -45,6 +45,8 @@ public:
|
||||||
u32 packets_out() const { return m_packets_out; }
|
u32 packets_out() const { return m_packets_out; }
|
||||||
u32 bytes_out() const { return m_bytes_out; }
|
u32 bytes_out() const { return m_bytes_out; }
|
||||||
|
|
||||||
|
void set_on_receive(Function<void()> on_receive) { m_on_receive = move(on_receive); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
NetworkAdapter();
|
NetworkAdapter();
|
||||||
void set_interface_name(const StringView& basename);
|
void set_interface_name(const StringView& basename);
|
||||||
|
@ -63,4 +65,5 @@ private:
|
||||||
u32 m_bytes_in { 0 };
|
u32 m_bytes_in { 0 };
|
||||||
u32 m_packets_out { 0 };
|
u32 m_packets_out { 0 };
|
||||||
u32 m_bytes_out { 0 };
|
u32 m_bytes_out { 0 };
|
||||||
|
Function<void()> m_on_receive;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue