50 virtual void getReadBuffer(
void** buf,
size_t* len)
noexcept = 0;
57 virtual void onDataAvailable(
60 bool truncated) noexcept = 0;
74 virtual void onReadClosed() noexcept = 0;
91 virtual void errMessage(
const cmsghdr& cmsg)
noexcept = 0;
140 virtual ssize_t
write(
142 const std::unique_ptr<folly::IOBuf>& buf);
155 const std::unique_ptr<folly::IOBuf>& buf,
163 const struct iovec*
vec,
169 const struct iovec* vec,
185 virtual void close();
ReadCallback * readCallback_
virtual const folly::SocketAddress & address() const
virtual void setBusyPoll(int busyPollUs)
void setFD(int fd, FDOwnership ownership)
EventBase * getEventBase() const
ssize_t sendmsg(NetworkSocket socket, const msghdr *message, int flags)
virtual ssize_t writeGSO(const folly::SocketAddress &address, const std::unique_ptr< folly::IOBuf > &buf, int gso)
virtual void resumeRead(ReadCallback *cob)
virtual ssize_t writev(const folly::SocketAddress &address, const struct iovec *vec, size_t veclen, int gso)
virtual void setErrMessageCallback(ErrMessageCallback *errMessageCallback)
void failErrMessageRead(const AsyncSocketException &ex)
virtual void setRcvBuf(int rcvBuf)
—— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
virtual void attachEventBase(folly::EventBase *evb)
virtual ssize_t sendmsg(NetworkSocket socket, const struct msghdr *message, int flags)
virtual ssize_t write(const folly::SocketAddress &address, const std::unique_ptr< folly::IOBuf > &buf)
virtual void detachEventBase()
AsyncUDPSocket(EventBase *evb)
bool updateRegistration() noexcept
size_t handleErrMessages() noexcept
NetworkSocket socket(int af, int type, int protocol)
virtual void bind(const folly::SocketAddress &address)
folly::Optional< int > gso_
~AsyncUDPSocket() override
ErrMessageCallback * errMessageCallback_
AsyncUDPSocket & operator=(const AsyncUDPSocket &)=delete
folly::SocketAddress clientAddress_
void handlerReady(uint16_t events) noexceptoverride
virtual int getFD() const
virtual bool isBound() const
void handleRead() noexcept
virtual void dontFragment(bool df)
virtual void setReusePort(bool reusePort)
virtual void setReuseAddr(bool reuseAddr)
folly::SocketAddress localAddress_
static NetworkSocket fromFd(int fd)
virtual int connect(const folly::SocketAddress &address)
virtual void setSndBuf(int sndBuf)