37class [[nodiscard]] Socket 
final : 
public RwBase {
 
   40        size_t bytes_received{0};
 
 
   66    void Bind(
const Sockaddr&);
 
   69    void Listen(
int backlog = SOMAXCONN);
 
   82    [[nodiscard]] size_t 
RecvSome(
void* buf, size_t len, Deadline deadline);
 
   86    [[nodiscard]] size_t 
RecvAll(
void* buf, size_t len, Deadline deadline);
 
   94    [[nodiscard]] std::optional<size_t> 
RecvNoblock(
void* buf, size_t len);
 
   99    [[nodiscard]] size_t 
SendAll(std::initializer_list<IoData> list, Deadline deadline);
 
  101    [[nodiscard]] size_t WriteAll(std::initializer_list<IoData> list, Deadline deadline) 
override {
 
  107    [[nodiscard]] size_t 
SendAll(
const IoData* list, std::size_t list_size, Deadline deadline);
 
  111    [[nodiscard]] size_t 
SendAll(
const struct iovec* list, std::size_t list_size, Deadline deadline);
 
  115    [[nodiscard]] size_t 
SendAll(
const void* buf, size_t len, Deadline deadline);
 
  132    [[nodiscard]] size_t 
SendAllTo(
const Sockaddr& dest_addr, 
const void* buf, size_t len, Deadline deadline);
 
  160    [[nodiscard]] size_t 
ReadSome(
void* buf, size_t len, Deadline deadline) 
override {
 
   160    [[nodiscard]] size_t 
ReadSome(
void* buf, size_t len, Deadline deadline) 
override {
…}
  
  166    [[nodiscard]] size_t 
ReadAll(
void* buf, size_t len, Deadline deadline) 
override {
 
   166    [[nodiscard]] size_t 
ReadAll(
void* buf, size_t len, Deadline deadline) 
override {
…}
  
  180    [[nodiscard]] size_t 
WriteAll(
const void* buf, size_t len, Deadline deadline) 
override {
 
   180    [[nodiscard]] size_t 
WriteAll(
const void* buf, size_t len, Deadline deadline) 
override {
…}
  
  187    impl::FdControlHolder fd_control_;