Data Buffer
The data buffer is an auxiliar methods that can be use in all the components. It takes the stream data and formated to the specifications given.
It has different configuration states to configure its behaviour.
| Type | State | Description |
|---|---|---|
| No buffer | BufferMode.NO_BUF | Returns one value at the time. |
| Batch | BufferMode.BATCH | Returns values by batches. |
| Window | BufferMode.WINDOW | Returns values by time windows. |
Examples
Code examples to show the behaviour of the DataBuffer class.
No Buffer mode
from detectmatelibrary.utils.data_buffer import DataBuffer, ArgsBuffer, BufferMode
results = []
buf = DataBuffer(ArgsBuffer(mode=BufferMode.NO_BUF, process_function=results.append))
buf.add(1)
buf.add(2)
print(results) # [1, 2]
Batch mode
from detectmatelibrary.utils.data_buffer import DataBuffer, ArgsBuffer, BufferMode
results = []
buf = DataBuffer(ArgsBuffer(mode=BufferMode.BATCH, process_function=results.append, size=3))
buf.add(1)
print(results) # []
buf.add(1)
print(results) # []
buf.add(1)
print(results) # [[1, 1, 1]]
Window mode
from detectmatelibrary.utils.data_buffer import DataBuffer, ArgsBuffer, BufferMode
buf = DataBuffer(ArgsBuffer(mode=BufferMode.WINDOW, process_function=sum, size=2))
print(buf.add(1) is None) # True
print(buf.add(2)) # 3
print(buf.add(5)) # 7
Go back Index