Search in sources :

Example 1 with LoginResponse

use of org.apache.servicecomb.transport.highway.message.LoginResponse in project incubator-servicecomb-java-chassis by apache.

the class HighwayServerConnection method onLogin.

protected void onLogin(long msgId, RequestHeader header, Buffer bodyBuffer) {
    LoginRequest request = null;
    try {
        request = LoginRequest.readObject(bodyBuffer);
    } catch (Exception e) {
        String msg = String.format("decode setParameter error, msgId=%d", msgId);
        LOGGER.error(msg, e);
        netSocket.close();
        return;
    }
    if (request != null) {
        this.setProtocol(request.getProtocol());
        this.setZipName(request.getZipName());
        this.protobufFeature.setUseProtobufMapCodec(request.isUseProtobufMapCodec());
    }
    try (HighwayOutputStream os = new HighwayOutputStream(msgId, protobufFeature)) {
        ResponseHeader responseHeader = new ResponseHeader();
        responseHeader.setStatusCode(Status.OK.getStatusCode());
        LoginResponse response = new LoginResponse();
        response.setUseProtobufMapCodec(protobufFeature.isUseProtobufMapCodec());
        os.write(ResponseHeader.getResponseHeaderSchema(), responseHeader, LoginResponse.getLoginResponseSchema(), response);
        netSocket.write(os.getBuffer());
    } catch (Exception e) {
        throw new Error("impossible.", e);
    }
}
Also used : ResponseHeader(org.apache.servicecomb.transport.highway.message.ResponseHeader) LoginResponse(org.apache.servicecomb.transport.highway.message.LoginResponse) LoginRequest(org.apache.servicecomb.transport.highway.message.LoginRequest)

Example 2 with LoginResponse

use of org.apache.servicecomb.transport.highway.message.LoginResponse in project incubator-servicecomb-java-chassis by apache.

the class HighwayClientConnection method onLoginResponse.

@Override
protected boolean onLoginResponse(Buffer bodyBuffer) {
    try {
        LoginResponse response = LoginResponse.readObject(bodyBuffer);
        protobufFeature.setUseProtobufMapCodec(response.isUseProtobufMapCodec());
        return true;
    } catch (Throwable e) {
        LOGGER.error("decode login response failed.", e);
        return false;
    }
}
Also used : LoginResponse(org.apache.servicecomb.transport.highway.message.LoginResponse)

Aggregations

LoginResponse (org.apache.servicecomb.transport.highway.message.LoginResponse)2 LoginRequest (org.apache.servicecomb.transport.highway.message.LoginRequest)1 ResponseHeader (org.apache.servicecomb.transport.highway.message.ResponseHeader)1