@Nullable
  Object receiveResponse(final @NotNull DataInputStream in, final @NotNull HostAndPort address)
      throws IOException, ClassNotFoundException {
    try {
      final Object response = objectDeserializer.readObject(in);
      logger.debug("received response: {}", response);
      return response;
    } catch (EOFException ex) {
      logger.debug("requestToServer EOFException ", ex);
      throw createEOFException(address, ex);
    }
  }
Send a request to a Locator

@param address The locator's address
@param request The request message
@param timeout Timeout for sending the message and receiving a reply
@param replyExpected Whether to wait for a reply
@return The reply, or null if no reply is expected. This may also return a null
        if we're unable to form a connection to the TcpServer before the given timeout elapses
@throws ClassNotFoundException if the deserializer throws this exception
@throws IOException if there is a problem interacting with the server
geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java