Package org.apache.sysds.runtime.controlprogram.federated

# Class FederatedReadCache

java.lang.Object
org.apache.sysds.runtime.controlprogram.federated.FederatedReadCache

public class FederatedReadCache extends Object

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`FederatedReadCache.ReadCacheEntry`
Class representing an entry of the federated read cache.

## Constructor Summary

Constructors
Constructor
Description
`FederatedReadCache()`

## Method Summary

Modifier and Type
Method
Description
`CacheableData<?>`
`get(String fname, boolean putPlaceholder)`
Get the data from the ReadCacheEntry corresponding to the specified filename, if the data from this filename has already been read.
`void`
`setData(String fname, CacheableData<?> data)`
Set the data for the ReadCacheEntry with specified filename.
`void`
`setInvalid(String fname)`
Set the ReadCacheEntry of a given filename to invalid.

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

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

## Constructor Details

### FederatedReadCache

public FederatedReadCache()

## Method Details

### get

public CacheableData<?> get(String fname, boolean putPlaceholder)
Get the data from the ReadCacheEntry corresponding to the specified filename, if the data from this filename has already been read. Otherwise, create a new ReadCacheEntry for the filename and return null to indicate that the data is not cached yet.

Parameters:
  `fname` - the filename of the read data
  `putPlaceholder` - whether to put a placeholder if there is no mapping for the filename
Returns:
  the CacheableData object if it is cached, otherwise null

### setData

public void setData(String fname, CacheableData<?> data)
Set the data for the ReadCacheEntry with specified filename.

Parameters:
  `fname` - the filename of the read data
  `data` - the CacheableData object for setting the ReadCacheEntry

### setInvalid

public void setInvalid(String fname)
Set the ReadCacheEntry of a given filename to invalid. Usually done after a failing read attempt so that the threads waiting for the data can continue.

Parameters:
  `fname` - the filename of the read data