Package org.apache.sysds.runtime.controlprogram.caching

# Class ByteBuffer

java.lang.Object
org.apache.sysds.runtime.controlprogram.caching.ByteBuffer

public class ByteBuffer extends Object
Wrapper for WriteBuffer byte array per matrix/frame in order to support matrix/frame serialization outside global lock.

## Constructor Summary

Constructors
Constructor
Description
`ByteBuffer(long size)`

## Method Summary

Modifier and Type
Method
Description
`void`
`checkSerialized()`
`CacheBlock<?>`
`deserializeBlock()`
`void`
`evictBuffer(String fname)`
`void`
`freeMemory()`
`long`
`getSize()`
Returns the buffer size in bytes.
`boolean`
`isShallow()`
`static boolean`
`isValidCapacity(long size, CacheBlock<?> cb)`
Determines if byte buffer can hold the given size given this specific cache block.
`void`
`serializeBlock(CacheBlock<?> cb)`

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

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

## Constructor Details

### ByteBuffer

public ByteBuffer(long size)

## Method Details

### serializeBlock

public void serializeBlock(CacheBlock<?> cb)

### deserializeBlock

public CacheBlock<?> deserializeBlock() throws IOException

Throws:
  `IOException`

### evictBuffer

public void evictBuffer(String fname) throws IOException

Throws:
  `IOException`

### getSize

public long getSize()
Returns the buffer size in bytes.

Returns:
  buffer size in bytes

### isShallow

public boolean isShallow()

### freeMemory

public void freeMemory()

### checkSerialized

public void checkSerialized()

### isValidCapacity

public static boolean isValidCapacity(long size, CacheBlock<?> cb)
Determines if byte buffer can hold the given size given this specific cache block. This call is consistent with 'serializeBlock' and allows for internal optimization according to dense/sparse representation.

Parameters:
  `size` - the size
  `cb` - cache block
Returns:
  true if valid capacity