Java源码示例:org.apache.flink.shaded.netty4.io.netty.util.ReferenceCountUtil
示例1
private void handleError(ChannelHandlerContext ctx, String errorMessage, HttpResponseStatus responseStatus, @Nullable Throwable e) {
HttpRequest tmpRequest = currentHttpRequest;
deleteUploadedFiles();
reset();
LOG.warn(errorMessage, e);
HandlerUtils.sendErrorResponse(
ctx,
tmpRequest,
new ErrorResponseBody(errorMessage),
responseStatus,
Collections.emptyMap()
);
ReferenceCountUtil.release(tmpRequest);
}
示例2
@Override
public ReferenceCounted touch() {
if (requestAsReferenceCounted.isPresent()) {
ReferenceCountUtil.touch(requestAsReferenceCounted.get());
}
return this;
}
示例3
@Override
public ReferenceCounted touch(Object hint) {
if (requestAsReferenceCounted.isPresent()) {
ReferenceCountUtil.touch(requestAsReferenceCounted.get(), hint);
}
return this;
}
示例4
private void handleSsl(ChannelHandlerContext context) {
SslHandler sslHandler = sslHandlerFactory.createNettySSLHandler();
try {
context.pipeline().replace(this, SSL_HANDLER_NAME, sslHandler);
} catch (Throwable t) {
ReferenceCountUtil.safeRelease(sslHandler.engine());
throw t;
}
}
示例5
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
try {
ByteBuf buf = (ByteBuf) msg;
MessageType msgType = MessageSerializer.deserializeHeader(buf);
if (msgType == MessageType.REQUEST_RESULT) {
long requestId = MessageSerializer.getRequestId(buf);
RESP result = serializer.deserializeResponse(buf);
callback.onRequestResult(requestId, result);
} else if (msgType == MessageType.REQUEST_FAILURE) {
RequestFailure failure = MessageSerializer.deserializeRequestFailure(buf);
callback.onRequestFailure(failure.getRequestId(), failure.getCause());
} else if (msgType == MessageType.SERVER_FAILURE) {
throw MessageSerializer.deserializeServerFailure(buf);
} else {
throw new IllegalStateException("Unexpected response type '" + msgType + "'");
}
} catch (Throwable t1) {
try {
callback.onFailure(t1);
} catch (Throwable t2) {
LOG.error("Failed to notify callback about failure", t2);
}
} finally {
ReferenceCountUtil.release(msg);
}
}
示例6
private void handleError(ChannelHandlerContext ctx, String errorMessage, HttpResponseStatus responseStatus, @Nullable Throwable e) {
HttpRequest tmpRequest = currentHttpRequest;
deleteUploadedFiles();
reset();
LOG.warn(errorMessage, e);
HandlerUtils.sendErrorResponse(
ctx,
tmpRequest,
new ErrorResponseBody(errorMessage),
responseStatus,
Collections.emptyMap()
);
ReferenceCountUtil.release(tmpRequest);
}
示例7
@Override
public ReferenceCounted touch() {
if (requestAsReferenceCounted.isPresent()) {
ReferenceCountUtil.touch(requestAsReferenceCounted.get());
}
return this;
}
示例8
@Override
public ReferenceCounted touch(Object hint) {
if (requestAsReferenceCounted.isPresent()) {
ReferenceCountUtil.touch(requestAsReferenceCounted.get(), hint);
}
return this;
}
示例9
private void handleSsl(ChannelHandlerContext context) {
SslHandler sslHandler = sslHandlerFactory.createNettySSLHandler(context.alloc());
try {
context.pipeline().replace(this, SSL_HANDLER_NAME, sslHandler);
} catch (Throwable t) {
ReferenceCountUtil.safeRelease(sslHandler.engine());
throw t;
}
}
示例10
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
try {
ByteBuf buf = (ByteBuf) msg;
MessageType msgType = MessageSerializer.deserializeHeader(buf);
if (msgType == MessageType.REQUEST_RESULT) {
long requestId = MessageSerializer.getRequestId(buf);
RESP result = serializer.deserializeResponse(buf);
callback.onRequestResult(requestId, result);
} else if (msgType == MessageType.REQUEST_FAILURE) {
RequestFailure failure = MessageSerializer.deserializeRequestFailure(buf);
callback.onRequestFailure(failure.getRequestId(), failure.getCause());
} else if (msgType == MessageType.SERVER_FAILURE) {
throw MessageSerializer.deserializeServerFailure(buf);
} else {
throw new IllegalStateException("Unexpected response type '" + msgType + "'");
}
} catch (Throwable t1) {
try {
callback.onFailure(t1);
} catch (Throwable t2) {
LOG.error("Failed to notify callback about failure", t2);
}
} finally {
ReferenceCountUtil.release(msg);
}
}
示例11
private void handleError(ChannelHandlerContext ctx, String errorMessage, HttpResponseStatus responseStatus, @Nullable Throwable e) {
HttpRequest tmpRequest = currentHttpRequest;
deleteUploadedFiles();
reset();
LOG.warn(errorMessage, e);
HandlerUtils.sendErrorResponse(
ctx,
tmpRequest,
new ErrorResponseBody(errorMessage),
responseStatus,
Collections.emptyMap()
);
ReferenceCountUtil.release(tmpRequest);
}
示例12
@Override
public ReferenceCounted touch() {
if (requestAsReferenceCounted.isPresent()) {
ReferenceCountUtil.touch(requestAsReferenceCounted.get());
}
return this;
}
示例13
@Override
public ReferenceCounted touch(Object hint) {
if (requestAsReferenceCounted.isPresent()) {
ReferenceCountUtil.touch(requestAsReferenceCounted.get(), hint);
}
return this;
}
示例14
private void handleSsl(ChannelHandlerContext context) {
SslHandler sslHandler = sslHandlerFactory.createNettySSLHandler(context.alloc());
try {
context.pipeline().replace(this, SSL_HANDLER_NAME, sslHandler);
} catch (Throwable t) {
ReferenceCountUtil.safeRelease(sslHandler.engine());
throw t;
}
}
示例15
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
try {
ByteBuf buf = (ByteBuf) msg;
MessageType msgType = MessageSerializer.deserializeHeader(buf);
if (msgType == MessageType.REQUEST_RESULT) {
long requestId = MessageSerializer.getRequestId(buf);
RESP result = serializer.deserializeResponse(buf);
callback.onRequestResult(requestId, result);
} else if (msgType == MessageType.REQUEST_FAILURE) {
RequestFailure failure = MessageSerializer.deserializeRequestFailure(buf);
callback.onRequestFailure(failure.getRequestId(), failure.getCause());
} else if (msgType == MessageType.SERVER_FAILURE) {
throw MessageSerializer.deserializeServerFailure(buf);
} else {
throw new IllegalStateException("Unexpected response type '" + msgType + "'");
}
} catch (Throwable t1) {
try {
callback.onFailure(t1);
} catch (Throwable t2) {
LOG.error("Failed to notify callback about failure", t2);
}
} finally {
ReferenceCountUtil.release(msg);
}
}