Tear down the transfer service.
Tear down the transfer service.
A special case of fetchBlocks, as it fetches only one block and is blocking.
A special case of fetchBlocks, as it fetches only one block and is blocking.
It is also only available after init is invoked.
Fetch a sequence of blocks from a remote node asynchronously, available only after init is invoked.
Fetch a sequence of blocks from a remote node asynchronously, available only after init is invoked.
Note that this API takes a sequence so the implementation can batch requests, and does not return a future so the underlying implementation can invoke onBlockFetchSuccess as soon as the data of a block is fetched, rather than waiting for all blocks to be fetched.
Host name the service is listening on, available only after init is invoked.
Host name the service is listening on, available only after init is invoked.
Initialize the transfer service by giving it the BlockDataManager that can be used to fetch local blocks or put local blocks.
Initialize the transfer service by giving it the BlockDataManager that can be used to fetch local blocks or put local blocks.
Port number the service is listening on, available only after init is invoked.
Port number the service is listening on, available only after init is invoked.
Upload a single block to a remote node, available only after init is invoked.
Upload a single block to a remote node, available only after init is invoked.
This call blocks until the upload completes, or throws an exception upon failures.
Upload a single block to a remote node, available only after init is invoked.
Upload a single block to a remote node, available only after init is invoked.
This method is similar to uploadBlock, except this one blocks the thread until the upload finishes.
A BlockTransferService implementation based on ConnectionManager, a custom implementation using Java NIO.