Beamable SDK
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Beamable.Api.Analytics.Batch.PersistentBatchManager< T > Class Template Reference

Persistent Batch Manager. Subclass of BatchManager that adds the ability to persist batches to disk and restore from disk This BatchManager enforces that type T is a JsonSerializable.ISerializable More...

Inheritance diagram for Beamable.Api.Analytics.Batch.PersistentBatchManager< T >:
Inheritance graph
[legend]
Collaboration diagram for Beamable.Api.Analytics.Batch.PersistentBatchManager< T >:
Collaboration graph
[legend]

Public Member Functions

 PersistentBatchManager (CoroutineService coroutineService, string storageKey, int batchCapacity, double batchTimeoutSeconds, float heartbeatInterval=1f)
 Initializes a new instance of the PersistentBatchManager<T> class. More...
 
override void Add (T item)
 Add an item to the Batch More...
 
- Public Member Functions inherited from Beamable.Api.Analytics.Batch.BatchManager< T >
 BatchManager (CoroutineService coroutineService, int batchCapacity, double batchTimeoutSeconds, float heartbeatInterval=1f)
 Initializes a new instance of the BatchManager<T> class. More...
 
void Start ()
 Start this batch's lifecycle processing This starts a coroutine which executs a Heartbeat at a regular interval
 
void Stop ()
 Stop this batch's lifecycle processing This means the Heartbeat will cease to execute
 
void RestartHeartbeat (bool onlyIfStarted=true)
 
virtual void Flush ()
 Flush this Batch This causes it to expire, trigger the relevant callbacks, and rotate
 
void SetCapacity (int batchCapacity)
 Sets the batch's capacity threshold before expiration. More...
 
void SetTimeoutSeconds (double batchTimeoutSeconds)
 Sets the timeout seconds before expiration. More...
 
void SetHeartbeat (float heatbeatInterval)
 

Protected Member Functions

override void OnStart ()
 
override void RotateBatch ()
 Rotates the batch. This creates a new batch, hooks OnExpired event, and declares the batch ready for backup More...
 
override void OnHeartbeat ()
 Raises the heartbeat event. This runs the base class OnHeartbeat and also checks whether we should backup the batch. More...
 
void BackupEventBatch ()
 Backups the event batch to disk.
 
void RestoreEventBatch ()
 Restores the event batch from disk and adds any elements to the current batch.
 
- Protected Member Functions inherited from Beamable.Api.Analytics.Batch.BatchManager< T >
void OnExpired (List< T > batchItems)
 Raises the expired event. More...
 
virtual void CheckBatchExpired ()
 Checks whether the batch should be expired.
 

Protected Attributes

string _storageKey
 The storage key used for persisting to disk.
 
bool _backupBatchNow
 A flag which determines whether to backup the current batch on the next Heartbeat.
 
- Protected Attributes inherited from Beamable.Api.Analytics.Batch.BatchManager< T >
bool _isActive
 Flag for whether the BatchManager is actively evaluating the batch's lifecycle
 
int _batchCapacity
 
double _batchTimeoutSeconds
 
double _heartbeatSeconds
 
WaitForSeconds _heartbeatInterval
 
IEnumerator _heatbeatCoroutine
 
IBatchContainer< T > _currentBatch
 

Additional Inherited Members

- Events inherited from Beamable.Api.Analytics.Batch.BatchManager< T >
Action< List< T > > OnBatchExpired
 Occurs when on batch expired.
 

Detailed Description

Persistent Batch Manager. Subclass of BatchManager that adds the ability to persist batches to disk and restore from disk This BatchManager enforces that type T is a JsonSerializable.ISerializable

Type Constraints
T :class 
T :JsonSerializable.ISerializable 

Constructor & Destructor Documentation

◆ PersistentBatchManager()

Beamable.Api.Analytics.Batch.PersistentBatchManager< T >.PersistentBatchManager ( CoroutineService  coroutineService,
string  storageKey,
int  batchCapacity,
double  batchTimeoutSeconds,
float  heartbeatInterval = 1f 
)
inline

Initializes a new instance of the PersistentBatchManager<T> class.

Parameters
storageKeyStorage key used for persistent storage.
batchCapacityBatch capacity threshold for batch expiration.
batchTimeoutSecondsMaximum seconds before a batch is expired.
heartbeatIntervalHeartbeat interval.

Member Function Documentation

◆ Add()

override void Beamable.Api.Analytics.Batch.PersistentBatchManager< T >.Add ( item)
inlinevirtual

Add an item to the Batch

Parameters
itemItem.

Reimplemented from Beamable.Api.Analytics.Batch.BatchManager< T >.

◆ OnHeartbeat()

override void Beamable.Api.Analytics.Batch.PersistentBatchManager< T >.OnHeartbeat ( )
inlineprotectedvirtual

Raises the heartbeat event. This runs the base class OnHeartbeat and also checks whether we should backup the batch.

Reimplemented from Beamable.Api.Analytics.Batch.BatchManager< T >.

◆ OnStart()

override void Beamable.Api.Analytics.Batch.PersistentBatchManager< T >.OnStart ( )
inlineprotectedvirtual

◆ RotateBatch()

override void Beamable.Api.Analytics.Batch.PersistentBatchManager< T >.RotateBatch ( )
inlineprotectedvirtual

Rotates the batch. This creates a new batch, hooks OnExpired event, and declares the batch ready for backup

Reimplemented from Beamable.Api.Analytics.Batch.BatchManager< T >.


The documentation for this class was generated from the following file: