MayDay created SSHD-781:
---------------------------

             Summary: Fail to run the heartbeat task.
                 Key: SSHD-781
                 URL: https://issues.apache.org/jira/browse/SSHD-781
             Project: MINA SSHD
          Issue Type: Question
    Affects Versions: 1.4.0
         Environment: Any environment
            Reporter: MayDay


 
        The heartbeat request of sshClient is SSH_MSG_GLOBAL_REQUEST, but the 
default buffer of heartbeat set false (see ClientConnectService#sendHeartbeat )

{code:java}
buf.putBoolean(false);
{code}

        The sshServer reponse the heartbeat by the KeepAliveHandler, then 
sendGlobalResponse. but if the buffer of heartbeat set false, then the 
sendGlobalResponse will not reponse sshClient.(see AbstractConnectionService 
#globalRequest)


{code:java}
boolean wantReply = buffer.getBoolean();
{code}


{code:java}
    protected IoWriteFuture sendGlobalResponse(Buffer buffer, String req, 
RequestHandler.Result result, boolean wantReply) throws IOException {
        if (log.isDebugEnabled()) {
            log.debug("sendGlobalResponse({})[{}] result={}, want-reply={}", 
this, req, result, wantReply);
        }

        if (RequestHandler.Result.Replied.equals(result) || (!wantReply)) {
            return new AbstractIoWriteFuture(req, null) {
                {
                    setValue(Boolean.TRUE);
                }
            };
        }

        byte cmd = RequestHandler.Result.ReplySuccess.equals(result)
                 ? SshConstants.SSH_MSG_REQUEST_SUCCESS
                 : SshConstants.SSH_MSG_REQUEST_FAILURE;
        Session session = getSession();
        Buffer rsp = session.createBuffer(cmd, 2);
        return session.writePacket(rsp);
}
{code}

1 、if it a Bug? how the sshClient know the server is available when the server 
don't response.
I have test it whth create a client with params (
 HEARTBEAT_INTERAL = 60
 IDLE_TIMEOUT = 300
 NIO_READ_TIMEOUT = 315)and a server, and the client will close seesion after 
the NIO_READ_TIMEOUT.


         



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to