Class AbstractFileMessageStorage
Abstract file storage implementation. The base functionality of this class.
Inheritance
Inherited Members
Namespace: FixAntenna.FixEngine.Storage.File
Assembly: FixAntenna.Core.dll
Syntax
public abstract class AbstractFileMessageStorage : IMessageStorage, IDisposable
Constructors
AbstractFileMessageStorage(Config)
Declaration
public AbstractFileMessageStorage(Config configuration)
Parameters
Type | Name | Description |
---|---|---|
Config | configuration |
Fields
AccessFile
Declaration
protected FileStream AccessFile
Field Value
Type | Description |
---|---|
System. |
Configuration
Declaration
protected Config Configuration
Field Value
Type | Description |
---|---|
Config |
Disposed
Declaration
protected volatile bool Disposed
Field Value
Type | Description |
---|---|
System. |
FormatLength
Declaration
protected int FormatLength
Field Value
Type | Description |
---|---|
System. |
StorageTimestamp
Declaration
protected IStorageTimestamp StorageTimestamp
Field Value
Type | Description |
---|---|
IStorage |
Methods
AppendMessage(Byte[])
Appends message to storage.
Declaration
public virtual void AppendMessage(byte[] message)
Parameters
Type | Name | Description |
---|---|---|
System. |
message | the message |
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
AppendMessage(Byte[], Byte[])
Appends message to storage with the given formatted timestampFormatted.
Declaration
public virtual void AppendMessage(byte[] timestampFormatted, byte[] message)
Parameters
Type | Name | Description |
---|---|---|
System. |
timestampFormatted | the message timestampFormatted |
System. |
message | the message |
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
AppendMessage(Byte[], Byte[], Int32, Int32)
Appends message to storage with the given formatted timestamp.
Declaration
public virtual void AppendMessage(byte[] timestampFormatted, byte[] message, int offset, int length)
Parameters
Type | Name | Description |
---|---|---|
System. |
timestampFormatted | the message timestamp |
System. |
message | the message |
System. |
offset | the initial offset |
System. |
length | the length |
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
AppendMessage(Byte[], Int32, Int32)
Appends message to storage.
Declaration
public virtual void AppendMessage(byte[] message, int offset, int length)
Parameters
Type | Name | Description |
---|---|---|
System. |
message | the message |
System. |
offset | the initial offset |
System. |
length | the length |
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
AppendMessageInternal(Int64, Byte[], Int32, Int32)
Appends message to storage
Declaration
protected abstract long AppendMessageInternal(long ticks, byte[] message, int offset, int length)
Parameters
Type | Name | Description |
---|---|---|
System. |
ticks | the timestamp parameter |
System. |
message | the array of bytes |
System. |
offset | |
System. |
length |
Returns
Type | Description |
---|---|
System. |
Exceptions
Type | Condition |
---|---|
System. |
if I/O error occurred |
BackupFile(String, String)
Declaration
public virtual void BackupFile(string fullPathToStorageFile, string fullPathToDestinationBackupFile)
Parameters
Type | Name | Description |
---|---|---|
System. |
fullPathToStorageFile | |
System. |
fullPathToDestinationBackupFile |
BackupStorage(SessionParameters)
Backup the storage.
Declaration
public virtual void BackupStorage(SessionParameters sessionParameters)
Parameters
Type | Name | Description |
---|---|---|
Session |
sessionParameters | the session parameters |
BackupStorageFile(String, String)
Backups storage file.
Declaration
public virtual void BackupStorageFile(string fullPathToStorageFile, string fullPathToDestinationBackupFile)
Parameters
Type | Name | Description |
---|---|---|
System. |
fullPathToStorageFile | the path to file of in/out file |
System. |
fullPathToDestinationBackupFile | the destination place to backup file |
CalculateFormatLength()
This method is used to calculate Format
Declaration
protected virtual int CalculateFormatLength()
Returns
Type | Description |
---|---|
System. |
Close()
Close the storage.
Declaration
public virtual void Close()
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
DeleteFile(String)
Declaration
public virtual void DeleteFile(string fullPathToStorageFile)
Parameters
Type | Name | Description |
---|---|---|
System. |
fullPathToStorageFile |
DeleteStorageFile(String)
Deletes storage file.
Declaration
public virtual void DeleteStorageFile(string fullPathToStorageFile)
Parameters
Type | Name | Description |
---|---|---|
System. |
fullPathToStorageFile | the path to in/out file |
Dispose()
Declaration
public void Dispose()
Dispose(Boolean)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
System. |
disposing |
GetFile()
Gets the file.
Declaration
public virtual string GetFile()
Returns
Type | Description |
---|---|
System. |
GetNextSequenceNumber()
Gets next sequence number.
Declaration
public abstract long GetNextSequenceNumber()
Returns
Type | Description |
---|---|
System. |
Exceptions
Type | Condition |
---|---|
System. |
if I/O error occurred |
GetPrefixFormat(Int64)
Declaration
public virtual byte[] GetPrefixFormat(long ticks)
Parameters
Type | Name | Description |
---|---|---|
System. |
ticks |
Returns
Type | Description |
---|---|
System. |
Initialize()
Initialize the storage.
This method should be called before file storage is used.
Storage file and some variable (like Format
Declaration
public virtual long Initialize()
Returns
Type | Description |
---|---|
System. |
the last sequence number |
Exceptions
Type | Condition |
---|---|
System. |
if I/O error occurred |
Initialized()
Declaration
public virtual bool Initialized()
Returns
Type | Description |
---|---|
System. |
IsClosed()
Returns true if storage is closed.
Declaration
public virtual bool IsClosed()
Returns
Type | Description |
---|---|
System. |
NotifyListener(IMessageStorageListener, Boolean, Byte[])
Declaration
protected void NotifyListener(IMessageStorageListener listener, bool blocking, byte[] message)
Parameters
Type | Name | Description |
---|---|---|
IMessage |
listener | |
System. |
blocking | |
System. |
message |
OpenStorage()
Declaration
public virtual void OpenStorage()
OpenStorageFile()
Declaration
public virtual void OpenStorageFile()
RetrieveMessage(Int64)
Retrieves message from storage.
Declaration
public virtual byte[] RetrieveMessage(long num)
Parameters
Type | Name | Description |
---|---|---|
System. |
num |
Returns
Type | Description |
---|---|
System. |
the retrieved message |
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
RetrieveMessages(Int64, Int64, IMessageStorageListener, Boolean)
Retrieves message from storage.
Declaration
public virtual void RetrieveMessages(long from, long to, IMessageStorageListener listener, bool blocking)
Parameters
Type | Name | Description |
---|---|---|
System. |
from | |
System. |
to | |
IMessage |
listener | the callback listener |
System. |
blocking | if parameter is true, the execution start in current thread context, otherwise in the new thread context. |
Exceptions
Type | Condition |
---|---|
System. |
if error occurred. |
RetrieveMessagesImplementation(Int64, Int64, IMessageStorageListener, Boolean)
Declaration
protected abstract void RetrieveMessagesImplementation(long from, long to, IMessageStorageListener listener, bool blocking)
Parameters
Type | Name | Description |
---|---|---|
System. |
from | |
System. |
to | |
IMessage |
listener | |
System. |
blocking |
SetBackupFileLocator(ILogFileLocator)
Declaration
public virtual void SetBackupFileLocator(ILogFileLocator fileLocator)
Parameters
Type | Name | Description |
---|---|---|
ILog |
fileLocator |
SetFile(String)
Sets the file.
Declaration
public virtual void SetFile(string file)
Parameters
Type | Name | Description |
---|---|---|
System. |
file | the file |
VerifyNotDisposed()
Declaration
protected void VerifyNotDisposed()