biz.onixs.fix.engine.storage
Interface SessionStorage

All Known Implementing Classes:
AbstractSessionStorage, FileBasedSessionStorage, MemoryBasedSessionStorage, NullSessionStorage, TimingSessionStorage

public interface SessionStorage


Method Summary
 void clear()
          Clears session storage state.
Inbound and outbound sequence numbers are reset to 0.
 void close(boolean terminated)
          Closes session storage.
The terminated set to true means that after closing this session storage can not be restored.
 String getId()
          Returns session storage unique id.
 long getInSeqNum()
          Returns last inbound message sequence number or 0 if no inbound message is stored.
 long getMaxStorageSize()
          Returns the maximum size of the storage in messages.
 Message getMessage(MessageDirection direction, long sequenceNumber)
          Returns last message with the specified direction and sequence number.
 List<Message> getMessages(MessageDirection direction, long beginSequenceNumber, long endSequenceNumber)
          Returns messages with the specified direction and sequence number interval.
 long getOutSeqNum()
          Returns last outbound sequence number or 0 if no outbound message is stored.
 boolean isTerminated()
          Returns the flag whether this storage state should be kept or cleaned.
 void open()
          Opens session storage.
 void setInSeqNum(long msgSeqNum)
          Sets last inbound message sequence number
 void setMaxStorageSize(long maxStorageSize)
          Sets the maximum size of the storage in messages.
 void setOutSeqNum(long msgSeqNum)
          Sets last outbound message sequence number.
 void setTerminated(boolean terminated)
          Sets the flag whether this storage state should be kept or cleaned
 void storeMessage(MessageDirection direction, long msgSeqNum, biz.onixs.util.ByteBuffer rawMessage)
          Stores message.
 void storeMessage(MessageDirection direction, Message message, biz.onixs.util.ByteBuffer rawMessage)
          Stores message.
 

Method Detail

clear

void clear()
Clears session storage state.
Inbound and outbound sequence numbers are reset to 0.


open

void open()
Opens session storage.

Throws:
StorageException - if opening failed

close

void close(boolean terminated)
Closes session storage.
The terminated set to true means that after closing this session storage can not be restored. Its state is vanished. The session with the same parameters will be started from scratch.
The terminated set to false means that after closing this session can be restored at some point in the future. The session state need to be kept - sequence numbers, etc.

Parameters:
terminated - controls whether this session storage state should be kept or cleaned
Throws:
StorageException - if closing failed

getMessage

Message getMessage(MessageDirection direction,
                   long sequenceNumber)
Returns last message with the specified direction and sequence number.

Parameters:
direction - message direction
sequenceNumber - message sequence number
Returns:
message or null if not available
Throws:
IllegalArgumentException - if sequenceNumber < 1

getMessages

List<Message> getMessages(MessageDirection direction,
                          long beginSequenceNumber,
                          long endSequenceNumber)
Returns messages with the specified direction and sequence number interval. Ends are included.

Parameters:
direction - messages direction
beginSequenceNumber - sequence number to begin with, 0 means the minimum available
endSequenceNumber - sequence number to end with, 0 means the maximum available
Returns:
outbound messages
Throws:
IllegalArgumentException - if (beginSeqNum < 0) or ((endSeqNum != 0) and (beginSeqNum > endSeqNum))

setMaxStorageSize

void setMaxStorageSize(long maxStorageSize)
Sets the maximum size of the storage in messages.

Parameters:
maxStorageSize - maximum size of the message storage
Throws:
IllegalArgumentException - if (maxStorageSize < 0)

getMaxStorageSize

long getMaxStorageSize()
Returns the maximum size of the storage in messages.

Returns:
maximum size of the message storage

getId

String getId()
Returns session storage unique id.

Returns:
session storage unique id

getInSeqNum

long getInSeqNum()
Returns last inbound message sequence number or 0 if no inbound message is stored.

Returns:
inbound sequence number

setInSeqNum

void setInSeqNum(long msgSeqNum)
Sets last inbound message sequence number

Parameters:
msgSeqNum - inbound message sequence number
Throws:
StorageException - if set failed

storeMessage

void storeMessage(MessageDirection direction,
                  Message message,
                  biz.onixs.util.ByteBuffer rawMessage)
Stores message.

Parameters:
direction - message direction
message - message to store
rawMessage - message to store in a raw format
Throws:
StorageException - if storing failed

storeMessage

void storeMessage(MessageDirection direction,
                  long msgSeqNum,
                  biz.onixs.util.ByteBuffer rawMessage)
Stores message.

Parameters:
direction - message direction
msgSeqNum - message sequence number
rawMessage - message to store
Throws:
StorageException - if storing failed

isTerminated

boolean isTerminated()
Returns the flag whether this storage state should be kept or cleaned.

Returns:
flag whether this storage state should be kept or cleaned

setTerminated

void setTerminated(boolean terminated)
Sets the flag whether this storage state should be kept or cleaned

Parameters:
terminated - flag whether this storage state should be kept or cleaned
Throws:
StorageException - if set failed

getOutSeqNum

long getOutSeqNum()
Returns last outbound sequence number or 0 if no outbound message is stored.

Returns:
outbound sequence number

setOutSeqNum

void setOutSeqNum(long msgSeqNum)
Sets last outbound message sequence number.

Parameters:
msgSeqNum - last outbound message sequence number
Throws:
StorageException - if set failed


Copyright © 2005-2012 Onix Solutions. All Rights Reserved.