Package-level declarations

Types

Link copied to clipboard
@Singleton
@Requires(condition = IsFileTransferCondition::class)
class FileChunkStep<T : RemoteObject<*>>(catalog: DestinationCatalog, fileLoader: ObjectLoader, @Named(value = "fileQueue") inputQueue: PartitionedQueue<PipelineEvent<StreamKey, DestinationRecordRaw>>, @Named(value = "filePartQueue") partQueue: PartitionedQueue<PipelineEvent<ObjectKey, ObjectLoaderPartFormatter.FormattedPart>>, pathFactory: ObjectStoragePathFactory, uploadIdGenerator: UploadIdGenerator) : LoadPipelineStep
Link copied to clipboard

Given an input stream of file references, reads the files and chunks them into parts, emitting those parts to the partQueue. Once finished chunking a file, it deletes it from local storage.

Link copied to clipboard
Link copied to clipboard
class FileHandle(pathName: String)

File in Kotlin has built-n extensions cannot be directly mocked. This wrapper allows us to mock.

Link copied to clipboard

Exists to make it easier to test file access (read, delete, etc.) by injecting a mock factory.

Link copied to clipboard
class FilePartIterator(inputStream: InputStream, partSizeBytes: Int, finalPath: String) : Iterator<Part>

Turns a file into a series of Part chunks.

Link copied to clipboard
@Singleton
@Requires(condition = IsFileTransferCondition::class)
class ForwardFileRecordStep<T>(@Named(value = "fileCompletedQueue") inputQueue: PartitionedQueue<PipelineEvent<StreamKey, ObjectLoaderUploadCompleter.UploadResult<T>>>, @Named(value = "recordQueue") outputQueue: PartitionedQueue<PipelineEvent<StreamKey, DestinationRecordRaw>>) : LoadPipelineStep
Link copied to clipboard
@Singleton
class ProcessFileTaskLegacy(@Named(value = "fileMessageQueue") inputQueue: MessageQueue<FileTransferQueueMessage>, @Named(value = "objectLoaderPartQueue") outputQueue: PartitionedQueue<PipelineEvent<ObjectKey, ObjectLoaderPartFormatter.FormattedPart>>, partAccumulatorFactory: FilePartAccumulatorFactory) : Task
Link copied to clipboard
@Singleton
class ProcessFileTaskLegacyStep(processFileTaskLegacy: ProcessFileTaskLegacy) : LoadPipelineStep
Link copied to clipboard
@Singleton
@Requires(condition = IsFileTransferCondition::class)
class RouteEventStep(catalog: DestinationCatalog, @Named(value = "dataChannelInputFlows") inputFlows: Array<Flow<PipelineEvent<StreamKey, DestinationRecordRaw>>>, @Named(value = "fileQueue") fileQueue: PartitionedQueue<PipelineEvent<StreamKey, DestinationRecordRaw>>, @Named(value = "recordQueue") recordQueue: PartitionedQueue<PipelineEvent<StreamKey, DestinationRecordRaw>>) : LoadPipelineStep
Link copied to clipboard
@Singleton
class UploadIdGenerator(uuidGenerator: UUIDGenerator)

Generate a unique upload id to keep track of the upload in the case of file name collisions. Factored out for testability.