Interface ChunkedPacketSender

All Superinterfaces:
ChunkedPacketProvider
All Known Implementing Classes:
DefaultFileChunkPacketSender

public interface ChunkedPacketSender extends ChunkedPacketProvider
A sender of chunked data in any form. It is responsible to transfer all data chunks to the target network component of the transfer.
Since:
4.0
  • Method Details

    • forFileTransfer

      Get a new builder for a packet sender which allows to transfer a single but huge file, e.g. a zip folder in chunks through the network.
      Returns:
      a builder for file based chunked packet transfer.
    • source

      Get the source of data to stream and transfer through the network. The stream gets closed automatically when the transfer succeeded.
      Returns:
      the source of data to stream and transfer.
    • packetSplitter

      @NonNull @NonNull Consumer<Packet> packetSplitter()
      Get the splitter of each packet which is sent through the network. The splitter is responsible to send the packet to the network component(s) which this sender is targeting. It's for example used to allow transfer of a single chunk packet to multiple network components by multiplying it.
      Returns:
      the packet splitter.
    • transferChunkedData

      @NonNull @NonNull eu.cloudnetservice.common.concurrent.Task<TransferStatus> transferChunkedData()
      Transfers the data from the data source to all targets of this sender. The returned future is completed when:
      • The transfer completed successfully.
      • The transfer failed for any reason. The returned task will be completed holding the reason exception.
      Returns:
      a future completed when the transfer finishes.