Class DefaultFileChunkPacketSender

java.lang.Object
eu.cloudnetservice.driver.impl.network.chunk.DefaultChunkedPacketProvider
eu.cloudnetservice.driver.impl.network.chunk.DefaultFileChunkPacketSender
All Implemented Interfaces:
eu.cloudnetservice.driver.network.chunk.ChunkedPacketProvider, eu.cloudnetservice.driver.network.chunk.ChunkedPacketSender

public class DefaultFileChunkPacketSender extends DefaultChunkedPacketProvider implements eu.cloudnetservice.driver.network.chunk.ChunkedPacketSender
Represents a default implementation of a chunked packet sender specifically created for chunked transferring of a huge file, e.g. a zip archive.
Since:
4.0
  • Field Details

    • CHUNK_INFO_DATA_BYTES

      protected static final int CHUNK_INFO_DATA_BYTES
      See Also:
    • source

      protected final ReadableByteChannel source
    • packetSplitter

      protected final Consumer<eu.cloudnetservice.driver.network.protocol.Packet> packetSplitter
  • Constructor Details

    • DefaultFileChunkPacketSender

      public DefaultFileChunkPacketSender(@NonNull @NonNull eu.cloudnetservice.driver.network.chunk.ChunkSessionInformation sessionInformation, @NonNull @NonNull InputStream source, @NonNull @NonNull Consumer<eu.cloudnetservice.driver.network.protocol.Packet> packetSplitter)
      Constructs a new chunked packet sender for file transfer.
      Parameters:
      sessionInformation - the information about the chunked session.
      source - the source stream of the file, will be closed automatically.
      packetSplitter - the splitter for each chunk part to transfer.
      Throws:
      NullPointerException - if either the information, source or splitter is null.
  • Method Details

    • transferChunkedData

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.network.chunk.TransferStatus> transferChunkedData()
      Specified by:
      transferChunkedData in interface eu.cloudnetservice.driver.network.chunk.ChunkedPacketSender