docs: private void close()
      {
          assert (fd != null);
  
          try {
              fd.close();
              socket.eventClosed(endpoint, fd);
          }
          catch (IOException e) {
              socket.eventCloseFailed(endpoint, ZError.exccode(e));
          }
          fd = null;
      }