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
-
Nested Class Summary
Nested classes/interfaces inherited from interface eu.cloudnetservice.driver.network.chunk.ChunkedPacketSender
eu.cloudnetservice.driver.network.chunk.ChunkedPacketSender.Builder -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected final Consumer<eu.cloudnetservice.driver.network.protocol.Packet> protected final ReadableByteChannelFields inherited from class DefaultChunkedPacketProvider
chunkSessionInformation, transferStatus -
Constructor Summary
ConstructorsConstructorDescriptionDefaultFileChunkPacketSender(@NonNull eu.cloudnetservice.driver.network.chunk.ChunkSessionInformation sessionInformation, @NonNull InputStream source, @NonNull Consumer<eu.cloudnetservice.driver.network.protocol.Packet> packetSplitter) Constructs a new chunked packet sender for file transfer. -
Method Summary
Modifier and TypeMethodDescription@NonNull CompletableFuture<eu.cloudnetservice.driver.network.chunk.TransferStatus> Methods inherited from class DefaultChunkedPacketProvider
sessionInformation, transferStatusMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.cloudnetservice.driver.network.chunk.ChunkedPacketProvider
sessionInformation, transferStatus
-
Field Details
-
CHUNK_INFO_DATA_BYTES
protected static final int CHUNK_INFO_DATA_BYTES- See Also:
-
source
-
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:
transferChunkedDatain interfaceeu.cloudnetservice.driver.network.chunk.ChunkedPacketSender
-