com.pcbsys.nirvana.client.nStoreProperties Class Reference

Class that contains additional properties that can be set on the channel or queue More...

Public Member Functions

bool canSyncOnEachWrite ()
 Whether each write to the store will also call sync on the file system to ensure all data is written to the Disk More...
 
bool getCacheOnReload ()
 When a server restarts it will scan all file based stores and check for corruption. More...
 
string getClientMergeEngineClassname ()
 Returns the currently configured merge class name, if supplied else null. More...
 
bool getEnableCaching ()
 Returns true if the server will cache events in memory or will always refer back to the file backed store. More...
 
bool getEnableReadBuffering ()
 Returns the current state of read buffering for the store, if true, then reads will be buffered to optimize the I/O access to the file based store. More...
 
virtual string getFanoutArchiveTarget ()
 Returns the currently configured fanout archive target name, if supplied else null. More...
 
bool getHonorCapacityWhenFull ()
 Whether the channel / queue capacity setting will prevent publishing of any more data once full. More...
 
int getMultiFileEventsPerSpindle ()
 summary> Sets the number of events that will be stored per individual file for a store. More...
 
bool getPerformAutomaticMaintenance ()
 Whether the store will be have automatic maintenance as events are being removed More...
 
int getPriority ()
 Returns the default priority for events published to this objects parent Channel/Queue. More...
 
long getReadBufferSize ()
 If ReadBuffering is enabled then this function returns the size in bytes of the buffer to use More...
 
int getStampDictionary ()
 Get the StampDictionary setting value of this store. More...
 
int getSyncBatchTime ()
 Whether each write to the store will also call sync on the file system to ensure all data is written to the Disk More...
 
int getSyncMaxBatchSize ()
 Whether each write to the store will also call sync on the file system to ensure all data is written to the Disk More...
 
void setCacheOnReload (bool flag)
 When a server restarts it will scan all file based stores and check for corruption. More...
 
void setClientMergeEngineClassname (string name)
 This allows the client to specify the class used to merge events to form one event within the server. More...
 
void setEnableCaching (bool flag)
 Allows the client to control the caching algorithm within the server, if you set caching to false, all events will be read from the file store else if ther server has room in memory, they will be stored in memory and reused. More...
 
void setEnableReadBuffering (bool flag)
 Allows the client to control the read buffering logic for the store on the server. More...
 
virtual void setFanoutArchiveTarget (string name)
 This allows the client to specify the name of an existing channel or queue which will be used to archive every single event that the server fans out to this channel's subscribers, stamped with fanout information. More...
 
void setHonorCapacityWhenFull (bool flag)
 Sets whether the channel / queue capacity setting will prevent publishing of events once full. More...
 
void setPerformAutomaticMaintenance (bool flag)
 Sets whether the store will be have automatic maintenance as events are being removed More...
 
void setPriority (int newPriority)
 Sets the default priority of events published to this objects parent Channel/Queue. More...
 
void setReadBufferSize (long bufferSize)
 If read buffering is enabled then this allows the client set the number of bytes used for buffering. More...
 
void setStampDictionary (int stampDictionary)
 Configure explicitly the value of the StampDictionary setting of this store. More...
 
void setSyncBatchTime (int time)
 Sets whether each write to the store will also call sync on the file system to ensure all data is written to the Disk More...
 
void setSyncMaxBatchSize (int size)
 Sets whether each write to the store will also call sync on the file system to ensure all data is written to the Disk More...
 
void setSyncOnEachWrite (bool flag)
 Sets whether each write to the store will also call sync on the file system to ensure all data is written to the Disk More...
 

Detailed Description

Class that contains additional properties that can be set on the channel or queue

Member Function Documentation

bool com.pcbsys.nirvana.client.nStoreProperties.canSyncOnEachWrite ( )

Whether each write to the store will also call sync on the file system to ensure all data is written to the Disk

Returns
true or false
bool com.pcbsys.nirvana.client.nStoreProperties.getCacheOnReload ( )

When a server restarts it will scan all file based stores and check for corruption.

During this test the default behaviour is to disable caching to conserve memory, however, in some instances it would be better if the server had actually cached the events in memory for fast replay.

Returns
The current state, if false (default behaviour) no events are kept in memory during reload
string com.pcbsys.nirvana.client.nStoreProperties.getClientMergeEngineClassname ( )

Returns the currently configured merge class name, if supplied else null.

Returns
Name of class which implements interface nMergeEngineExtension.
bool com.pcbsys.nirvana.client.nStoreProperties.getEnableCaching ( )

Returns true if the server will cache events in memory or will always refer back to the file backed store.

Used by mixed and persistent store types to improve performance by caching the event in memory. In certian instances this is not desirable and the events should not be cached, some examples would be very large stores where the application will periodically scan from the start to the finish.

Returns
true if enabled, this is the default behaviour
bool com.pcbsys.nirvana.client.nStoreProperties.getEnableReadBuffering ( )

Returns the current state of read buffering for the store, if true, then reads will be buffered to optimize the I/O access to the file based store.

If false then no buffering will be done and each read will result in a disk I/O, reducing overall performance of the server.

Returns
bool indicating if read buffering is enabled or not. By default it is enabled
virtual string com.pcbsys.nirvana.client.nStoreProperties.getFanoutArchiveTarget ( )
virtual

Returns the currently configured fanout archive target name, if supplied else null.

Returns
Name of class which implements interface nMergeEngineExtension.

<seealso cref= com.pcbsys.nirvana.server.plugins.extensions.mergeEngine.nMergeEngineExtension

bool com.pcbsys.nirvana.client.nStoreProperties.getHonorCapacityWhenFull ( )

Whether the channel / queue capacity setting will prevent publishing of any more data once full.

If true, the client will get an exception on further publishes

Returns
true or false
int com.pcbsys.nirvana.client.nStoreProperties.getMultiFileEventsPerSpindle ( )

summary> Sets the number of events that will be stored per individual file for a store.

Setting this number too low will create to many files and utilise a large number of file descriptors /summary> returns> <param name="count" The number of events per individual file /returns>

bool com.pcbsys.nirvana.client.nStoreProperties.getPerformAutomaticMaintenance ( )

Whether the store will be have automatic maintenance as events are being removed

Returns
true or false
int com.pcbsys.nirvana.client.nStoreProperties.getPriority ( )

Returns the default priority for events published to this objects parent Channel/Queue.

Returns
An integer value between 1 and 10, representing the priority of a resource.
long com.pcbsys.nirvana.client.nStoreProperties.getReadBufferSize ( )

If ReadBuffering is enabled then this function returns the size in bytes of the buffer to use

Returns
The number of bytes to use for buffering reads for the store
int com.pcbsys.nirvana.client.nStoreProperties.getStampDictionary ( )

Get the StampDictionary setting value of this store.

Returns

summary> Returns the number of events that are stored per individual files for a single store /summary> returns> The number of events per file spindle /returns>

int com.pcbsys.nirvana.client.nStoreProperties.getSyncBatchTime ( )

Whether each write to the store will also call sync on the file system to ensure all data is written to the Disk

Returns
true or false
int com.pcbsys.nirvana.client.nStoreProperties.getSyncMaxBatchSize ( )

Whether each write to the store will also call sync on the file system to ensure all data is written to the Disk

Returns
true or false
void com.pcbsys.nirvana.client.nStoreProperties.setCacheOnReload ( bool  flag)

When a server restarts it will scan all file based stores and check for corruption.

During this test the default behaviour is to disable caching to conserve memory, however, in some instances it would be better if the server had actually cached the events in memory for fast replay. This function allows the client to override the default behaviour for the store and get the events to be cached

Parameters
flagto set the cache on reload to.
void com.pcbsys.nirvana.client.nStoreProperties.setClientMergeEngineClassname ( string  name)

This allows the client to specify the class used to merge events to form one event within the server.

The class must implement the interface nMergeEngineExtension and the channel must have the merge engine active else this will not be used by the server

Parameters
nameof the class to use
void com.pcbsys.nirvana.client.nStoreProperties.setEnableCaching ( bool  flag)

Allows the client to control the caching algorithm within the server, if you set caching to false, all events will be read from the file store else if ther server has room in memory, they will be stored in memory and reused.

Only applicable for mixed and persistent stores

Parameters
flagtrue to enable caching (default behaviour)
void com.pcbsys.nirvana.client.nStoreProperties.setEnableReadBuffering ( bool  flag)

Allows the client to control the read buffering logic for the store on the server.

If true then the server will optimize its reading of the file based store and reduce the number of disk I/O's performed. Only works on file backed stores like mixed and persistent.

Parameters
flagto enable/disable the read buffering
virtual void com.pcbsys.nirvana.client.nStoreProperties.setFanoutArchiveTarget ( string  name)
virtual

This allows the client to specify the name of an existing channel or queue which will be used to archive every single event that the server fans out to this channel's subscribers, stamped with fanout information.

The functionality only applies to channels, will have no effect if used on a queue.

Parameters
nameof the existing channel or queue to use
void com.pcbsys.nirvana.client.nStoreProperties.setHonorCapacityWhenFull ( bool  flag)

Sets whether the channel / queue capacity setting will prevent publishing of events once full.

If true, the client will get an exception on further publishes

Parameters
flagtrue and no more events after max events will be published
void com.pcbsys.nirvana.client.nStoreProperties.setPerformAutomaticMaintenance ( bool  flag)

Sets whether the store will be have automatic maintenance as events are being removed

Parameters
flagtrue or false
void com.pcbsys.nirvana.client.nStoreProperties.setPriority ( int  newPriority)

Sets the default priority of events published to this objects parent Channel/Queue.

Parameters
newPrioritydefault priority level, between 1 and 10. Values outside of this range will cause this method to generate an ArgumentOutOfRangeException
void com.pcbsys.nirvana.client.nStoreProperties.setReadBufferSize ( long  bufferSize)

If read buffering is enabled then this allows the client set the number of bytes used for buffering.

By default the server uses 10K

Parameters
bufferSizenumber of bytes to use
void com.pcbsys.nirvana.client.nStoreProperties.setStampDictionary ( int  stampDictionary)

Configure explicitly the value of the StampDictionary setting of this store.

This configuration setting will override the default server behavior when processing events on this channel.

Parameters
stampDictionarystampDictionary the new value of the configuration setting. Valid values are:
void com.pcbsys.nirvana.client.nStoreProperties.setSyncBatchTime ( int  time)

Sets whether each write to the store will also call sync on the file system to ensure all data is written to the Disk

Parameters
timetrue or false
void com.pcbsys.nirvana.client.nStoreProperties.setSyncMaxBatchSize ( int  size)

Sets whether each write to the store will also call sync on the file system to ensure all data is written to the Disk

Parameters
sizevalue between 1 and 1000;
void com.pcbsys.nirvana.client.nStoreProperties.setSyncOnEachWrite ( bool  flag)

Sets whether each write to the store will also call sync on the file system to ensure all data is written to the Disk

Parameters
flagtrue or false