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