Package org.apache.sysds.runtime.ooc.cache.io

# Class OOCMatrixIOHandler

java.lang.Object
org.apache.sysds.runtime.ooc.cache.io.OOCMatrixIOHandler

All Implemented Interfaces:
  `OOCIOHandler`

public class OOCMatrixIOHandler extends Object implements OOCIOHandler

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.apache.sysds.runtime.ooc.cache.io.OOCIOHandler

`OOCIOHandler.GroupSourceBlockDescriptor, OOCIOHandler.SourceBlockDescriptor, OOCIOHandler.SourceReadContinuation, OOCIOHandler.SourceReadRequest, OOCIOHandler.SourceReadResult`

## Constructor Summary

Constructors
Constructor
Description
`OOCMatrixIOHandler()`

## Method Summary

Modifier and Type
Method
Description
`CompletableFuture<OOCIOHandler.SourceReadResult>`
`continueSourceRead(OOCIOHandler.SourceReadContinuation continuation, long maxBytesInFlight)`
Continue a previously throttled source read using the provided continuation token.
`void`
`prioritizeRead(BlockKey key, double priority)`
Increase priority for a pending scheduled read if it has not started yet.
`void`
`registerSourceLocation(BlockKey key, OOCIOHandler.SourceBlockDescriptor descriptor)`
Registers the source location of a block for future direct reads.
`CompletableFuture<Boolean>`
`scheduleDeletion(BlockEntry block)`
`CompletableFuture<Void>`
`scheduleEviction(BlockEntry block)`
`OOCFuture<BlockEntry>`
`scheduleRead(BlockEntry block)`
`CompletableFuture<OOCIOHandler.SourceReadResult>`
`scheduleSourceRead(OOCIOHandler.SourceReadRequest request)`
Schedule an asynchronous read from an external source into the provided target stream.
`void`
`shutdown()`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### OOCMatrixIOHandler

public OOCMatrixIOHandler()

## Method Details

### shutdown

public void shutdown()

Specified by:
  `shutdown` in interface `OOCIOHandler`

### scheduleEviction

public CompletableFuture<Void> scheduleEviction(BlockEntry block)

Specified by:
  `scheduleEviction` in interface `OOCIOHandler`

### scheduleRead

public OOCFuture<BlockEntry> scheduleRead(BlockEntry block)

Specified by:
  `scheduleRead` in interface `OOCIOHandler`

### prioritizeRead

public void prioritizeRead(BlockKey key, double priority)
Description copied from interface: `OOCIOHandler`
Increase priority for a pending scheduled read if it has not started yet.

Specified by:
  `prioritizeRead` in interface `OOCIOHandler`

### scheduleDeletion

public CompletableFuture<Boolean> scheduleDeletion(BlockEntry block)

Specified by:
  `scheduleDeletion` in interface `OOCIOHandler`

### registerSourceLocation

public void registerSourceLocation(BlockKey key, OOCIOHandler.SourceBlockDescriptor descriptor)
Description copied from interface: `OOCIOHandler`
Registers the source location of a block for future direct reads.

Specified by:
  `registerSourceLocation` in interface `OOCIOHandler`

### scheduleSourceRead

public CompletableFuture<OOCIOHandler.SourceReadResult> scheduleSourceRead(OOCIOHandler.SourceReadRequest request)
Description copied from interface: `OOCIOHandler`
Schedule an asynchronous read from an external source into the provided target stream. The returned future completes when either EOF is reached or the requested byte budget is exhausted. When the budget is reached and keepOpenOnLimit is true, the target stream is kept open and a continuation token is provided so the caller can resume.

Specified by:
  `scheduleSourceRead` in interface `OOCIOHandler`

### continueSourceRead

public CompletableFuture<OOCIOHandler.SourceReadResult> continueSourceRead(OOCIOHandler.SourceReadContinuation continuation, long maxBytesInFlight)
Description copied from interface: `OOCIOHandler`
Continue a previously throttled source read using the provided continuation token.

Specified by:
  `continueSourceRead` in interface `OOCIOHandler`