1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:07:45 +00:00

Kernel: Make IPv4Socket::protocol_send() use a size_t for buffer size

This commit is contained in:
Andreas Kling 2020-01-29 12:27:42 +01:00
parent 9ce4ef2dd3
commit 03837e37a3
5 changed files with 7 additions and 7 deletions

View file

@ -94,7 +94,7 @@ protected:
virtual KResult protocol_bind() { return KSuccess; } virtual KResult protocol_bind() { return KSuccess; }
virtual KResult protocol_listen() { return KSuccess; } virtual KResult protocol_listen() { return KSuccess; }
virtual int protocol_receive(const KBuffer&, void*, size_t, int) { return -ENOTIMPL; } virtual int protocol_receive(const KBuffer&, void*, size_t, int) { return -ENOTIMPL; }
virtual int protocol_send(const void*, int) { return -ENOTIMPL; } virtual int protocol_send(const void*, size_t) { return -ENOTIMPL; }
virtual KResult protocol_connect(FileDescription&, ShouldBlock) { return KSuccess; } virtual KResult protocol_connect(FileDescription&, ShouldBlock) { return KSuccess; }
virtual int protocol_allocate_local_port() { return 0; } virtual int protocol_allocate_local_port() { return 0; }
virtual bool protocol_is_disconnected() const { return false; } virtual bool protocol_is_disconnected() const { return false; }

View file

@ -158,13 +158,13 @@ int TCPSocket::protocol_receive(const KBuffer& packet_buffer, void* buffer, size
return payload_size; return payload_size;
} }
int TCPSocket::protocol_send(const void* data, int data_length) int TCPSocket::protocol_send(const void* data, size_t data_length)
{ {
send_tcp_packet(TCPFlags::PUSH | TCPFlags::ACK, data, data_length); send_tcp_packet(TCPFlags::PUSH | TCPFlags::ACK, data, data_length);
return data_length; return data_length;
} }
void TCPSocket::send_tcp_packet(u16 flags, const void* payload, int payload_size) void TCPSocket::send_tcp_packet(u16 flags, const void* payload, size_t payload_size)
{ {
auto buffer = ByteBuffer::create_zeroed(sizeof(TCPPacket) + payload_size); auto buffer = ByteBuffer::create_zeroed(sizeof(TCPPacket) + payload_size);
auto& tcp_packet = *(TCPPacket*)(buffer.data()); auto& tcp_packet = *(TCPPacket*)(buffer.data());

View file

@ -147,7 +147,7 @@ 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 send_tcp_packet(u16 flags, const void* = nullptr, int = 0); void send_tcp_packet(u16 flags, const void* = nullptr, size_t = 0);
void send_outgoing_packets(); void send_outgoing_packets();
void receive_tcp_packet(const TCPPacket&, u16 size); void receive_tcp_packet(const TCPPacket&, u16 size);
@ -171,7 +171,7 @@ private:
static NetworkOrdered<u16> compute_tcp_checksum(const IPv4Address& source, const IPv4Address& destination, const TCPPacket&, u16 payload_size); static NetworkOrdered<u16> compute_tcp_checksum(const IPv4Address& source, const IPv4Address& destination, const TCPPacket&, u16 payload_size);
virtual int protocol_receive(const KBuffer&, void* buffer, size_t buffer_size, int flags) override; virtual int protocol_receive(const KBuffer&, void* buffer, size_t buffer_size, int flags) override;
virtual int protocol_send(const void*, int) override; virtual int protocol_send(const void*, size_t) override;
virtual KResult protocol_connect(FileDescription&, ShouldBlock) override; virtual KResult protocol_connect(FileDescription&, ShouldBlock) override;
virtual int protocol_allocate_local_port() override; virtual int protocol_allocate_local_port() override;
virtual bool protocol_is_disconnected() const override; virtual bool protocol_is_disconnected() const override;

View file

@ -88,7 +88,7 @@ int UDPSocket::protocol_receive(const KBuffer& packet_buffer, void* buffer, size
return udp_packet.length() - sizeof(UDPPacket); return udp_packet.length() - sizeof(UDPPacket);
} }
int UDPSocket::protocol_send(const void* data, int data_length) int UDPSocket::protocol_send(const void* data, size_t data_length)
{ {
auto routing_decision = route_to(peer_address(), local_address()); auto routing_decision = route_to(peer_address(), local_address());
if (routing_decision.is_zero()) if (routing_decision.is_zero())

View file

@ -42,7 +42,7 @@ private:
static Lockable<HashMap<u16, UDPSocket*>>& sockets_by_port(); static Lockable<HashMap<u16, UDPSocket*>>& sockets_by_port();
virtual int protocol_receive(const KBuffer&, void* buffer, size_t buffer_size, int flags) override; virtual int protocol_receive(const KBuffer&, void* buffer, size_t buffer_size, int flags) override;
virtual int protocol_send(const void*, int) override; virtual int protocol_send(const void*, size_t) override;
virtual KResult protocol_connect(FileDescription&, ShouldBlock) override; virtual KResult protocol_connect(FileDescription&, ShouldBlock) override;
virtual int protocol_allocate_local_port() override; virtual int protocol_allocate_local_port() override;
virtual KResult protocol_bind() override; virtual KResult protocol_bind() override;