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);
}
}
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;
}
}
Aggregations