public abstract class TpcSourceReadHandler extends AbstractClientSourceHandler
This handler reads until the file is complete, terminating the session thereafter. When complete, it uses the write handler on its client to send a reply to the kXR_sync request received from the initiating client, and calls back to disconnect the third-party client.
Optional checksum verification (done prior to the sync reply) is implemented by subclasses.
client, future, LOGGER| Constructor and Description |
|---|
TpcSourceReadHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doOnAsynResponse(io.netty.channel.ChannelHandlerContext ctx,
InboundAttnResponse response) |
protected void |
doOnChecksumResponse(io.netty.channel.ChannelHandlerContext ctx,
InboundChecksumResponse response)
Should check the checksum and fail or succeed accordingly.
|
protected void |
doOnReadResponse(io.netty.channel.ChannelHandlerContext ctx,
InboundReadResponse response)
Should implement the proper read logic.
|
protected void |
doOnWaitResponse(io.netty.channel.ChannelHandlerContext ctx,
AbstractXrootdInboundResponse response) |
protected abstract int |
getChunkSize() |
protected void |
handleTransferTerminated(int status,
String error,
io.netty.channel.ChannelHandlerContext ctx) |
protected void |
sendChecksumRequest(io.netty.channel.ChannelHandlerContext ctx)
If checksum option is expressed.
|
protected void |
sendReadRequest(io.netty.channel.ChannelHandlerContext ctx)
Should take care of any special handling, such as vectorization.
|
protected abstract void |
validateChecksum(InboundChecksumResponse response,
io.netty.channel.ChannelHandlerContext ctx) |
doOnAuthenticationResponse, doOnCloseResponse, doOnLoginResponse, doOnOpenResponse, sendOpenRequestchannelRead, doOnAttnResponse, doOnErrorResponse, doOnHandshakeResponse, doOnProtocolResponse, doOnRedirectResponse, exceptionCaught, getWaitInSeconds, responseReceived, sendAuthenticationRequest, sendCloseRequest, sendLoginRequest, setClient, unsupportedchannelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggeredhandlerAdded, handlerRemoved, isSharableprotected void doOnAsynResponse(io.netty.channel.ChannelHandlerContext ctx,
InboundAttnResponse response)
doOnAsynResponse in class AbstractClientSourceHandlerprotected void doOnChecksumResponse(io.netty.channel.ChannelHandlerContext ctx,
InboundChecksumResponse response)
AbstractClientSourceHandlerdoOnChecksumResponse in class AbstractClientSourceHandlerprotected void doOnReadResponse(io.netty.channel.ChannelHandlerContext ctx,
InboundReadResponse response)
AbstractClientSourceHandlerdoOnReadResponse in class AbstractClientSourceHandlerprotected void doOnWaitResponse(io.netty.channel.ChannelHandlerContext ctx,
AbstractXrootdInboundResponse response)
doOnWaitResponse in class AbstractClientSourceHandlerprotected void handleTransferTerminated(int status,
String error,
io.netty.channel.ChannelHandlerContext ctx)
protected void sendReadRequest(io.netty.channel.ChannelHandlerContext ctx)
AbstractClientSourceHandlersendReadRequest in class AbstractClientSourceHandlerprotected void sendChecksumRequest(io.netty.channel.ChannelHandlerContext ctx)
AbstractClientSourceHandlersendChecksumRequest in class AbstractClientSourceHandlerprotected abstract void validateChecksum(InboundChecksumResponse response, io.netty.channel.ChannelHandlerContext ctx)
protected abstract int getChunkSize()
Copyright © 2011–2018 dCache.org. All rights reserved.