diff options
Diffstat (limited to 'net/tools/quic/quic_socket_utils.cc')
-rw-r--r-- | net/tools/quic/quic_socket_utils.cc | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/net/tools/quic/quic_socket_utils.cc b/net/tools/quic/quic_socket_utils.cc index 87071a6..6535d57 100644 --- a/net/tools/quic/quic_socket_utils.cc +++ b/net/tools/quic/quic_socket_utils.cc @@ -12,7 +12,6 @@ #include <string> #include "base/logging.h" -#include "net/quic/quic_protocol.h" #ifndef SO_RXQ_OVFL #define SO_RXQ_OVFL 40 @@ -51,7 +50,7 @@ IPAddressNumber QuicSocketUtils::GetAddressFromMsghdr(struct msghdr *hdr) { // static bool QuicSocketUtils::GetOverflowFromMsghdr(struct msghdr *hdr, - int *dropped_packets) { + int *dropped_packets) { if (hdr->msg_controllen > 0) { struct cmsghdr *cmsg; for (cmsg = CMSG_FIRSTHDR(hdr); @@ -80,9 +79,9 @@ int QuicSocketUtils::SetGetAddressInfo(int fd, int address_family) { // static int QuicSocketUtils::ReadPacket(int fd, char* buffer, size_t buf_len, - int* dropped_packets, - IPAddressNumber* self_address, - IPEndPoint* peer_address) { + int* dropped_packets, + IPAddressNumber* self_address, + IPEndPoint* peer_address) { CHECK(peer_address != NULL); const int kSpaceForOverflowAndIp = CMSG_SPACE(sizeof(int)) + CMSG_SPACE(sizeof(in6_pktinfo)); @@ -136,11 +135,10 @@ int QuicSocketUtils::ReadPacket(int fd, char* buffer, size_t buf_len, } // static -WriteResult QuicSocketUtils::WritePacket(int fd, - const char* buffer, - size_t buf_len, - const IPAddressNumber& self_address, - const IPEndPoint& peer_address) { +int QuicSocketUtils::WritePacket(int fd, const char* buffer, size_t buf_len, + const IPAddressNumber& self_address, + const IPEndPoint& peer_address, + int* error) { sockaddr_storage raw_address; socklen_t address_len = sizeof(raw_address); CHECK(peer_address.ToSockAddr( @@ -192,11 +190,8 @@ WriteResult QuicSocketUtils::WritePacket(int fd, } int rc = sendmsg(fd, &hdr, 0); - if (rc >= 0) { - return WriteResult(WRITE_STATUS_OK, rc); - } - return WriteResult((errno == EAGAIN || errno == EWOULDBLOCK) ? - WRITE_STATUS_BLOCKED : WRITE_STATUS_ERROR, errno); + *error = (rc >= 0) ? 0 : errno; + return rc; } } // namespace tools |