FIX 4.0 Demo 1.0
Loading...
Searching...
No Matches
fix40::IStore Class Referenceabstract

存储接口 More...

#include <store.hpp>

Inheritance diagram for fix40::IStore:
Inheritance graph
Collaboration diagram for fix40::IStore:
Collaboration graph

Public Member Functions

virtual ~IStore ()=default
 
virtual bool saveOrder (const Order &order)=0
 保存订单(不包含订单归属信息)
 
virtual bool saveOrderForAccount (const Order &order, const std::string &accountId)=0
 保存订单并记录订单归属账户
 
virtual bool updateOrder (const Order &order)=0
 
virtual std::optional< OrderloadOrder (const std::string &clOrdID)=0
 
virtual std::vector< OrderloadOrdersBySymbol (const std::string &symbol)=0
 
virtual std::vector< OrderloadOrdersByAccount (const std::string &accountId)=0
 
virtual std::vector< OrderloadActiveOrders ()=0
 
virtual std::vector< OrderloadAllOrders ()=0
 
virtual bool saveTrade (const StoredTrade &trade)=0
 
virtual std::vector< StoredTradeloadTradesByOrder (const std::string &clOrdID)=0
 
virtual std::vector< StoredTradeloadTradesBySymbol (const std::string &symbol)=0
 
virtual bool saveSessionState (const SessionState &state)=0
 
virtual std::optional< SessionStateloadSessionState (const std::string &senderCompID, const std::string &targetCompID)=0
 
virtual bool saveMessage (const StoredMessage &msg)=0
 
virtual std::vector< StoredMessageloadMessages (const std::string &senderCompID, const std::string &targetCompID, int beginSeqNum, int endSeqNum)=0
 
virtual bool deleteMessagesForSession (const std::string &senderCompID, const std::string &targetCompID)=0
 删除指定会话方向的所有已持久化消息
 
virtual bool deleteMessagesOlderThan (int64_t timestamp)=0
 
virtual bool saveAccount (const Account &account)=0
 保存账户信息
 
virtual std::optional< AccountloadAccount (const std::string &accountId)=0
 加载账户信息
 
virtual std::vector< AccountloadAllAccounts ()=0
 加载所有账户
 
virtual bool deleteAccount (const std::string &accountId)=0
 删除账户
 
virtual bool savePosition (const Position &position)=0
 保存持仓信息
 
virtual std::optional< PositionloadPosition (const std::string &accountId, const std::string &instrumentId)=0
 加载持仓信息
 
virtual std::vector< PositionloadPositionsByAccount (const std::string &accountId)=0
 加载账户的所有持仓
 
virtual std::vector< PositionloadAllPositions ()=0
 加载所有持仓
 
virtual bool deletePosition (const std::string &accountId, const std::string &instrumentId)=0
 删除持仓
 
virtual bool deletePositionsByAccount (const std::string &accountId)=0
 删除账户的所有持仓
 

Detailed Description

存储接口

Constructor & Destructor Documentation

◆ ~IStore()

virtual fix40::IStore::~IStore ( )
virtualdefault

Member Function Documentation

◆ deleteAccount()

virtual bool fix40::IStore::deleteAccount ( const std::string &  accountId)
pure virtual

删除账户

从数据库删除指定账户。

Parameters
accountId账户ID
Returns
删除成功返回 true,失败返回 false
Warning
删除账户不会自动删除关联的持仓数据,需要单独处理

Implemented in fix40::SqliteStore.

◆ deleteMessagesForSession()

virtual bool fix40::IStore::deleteMessagesForSession ( const std::string &  senderCompID,
const std::string &  targetCompID 
)
pure virtual

删除指定会话方向的所有已持久化消息

典型用途:处理 Logon 的 ResetSeqNumFlag(141)=Y 时,清理旧会话的消息记录, 避免序列号重置后出现同一 seq_num 的重复历史消息干扰重传。

Parameters
senderCompID发送方 CompID
targetCompID接收方 CompID
Returns
删除成功返回 true,失败返回 false

Implemented in fix40::SqliteStore.

◆ deleteMessagesOlderThan()

virtual bool fix40::IStore::deleteMessagesOlderThan ( int64_t  timestamp)
pure virtual

Implemented in fix40::SqliteStore.

◆ deletePosition()

virtual bool fix40::IStore::deletePosition ( const std::string &  accountId,
const std::string &  instrumentId 
)
pure virtual

删除持仓

从数据库删除指定持仓。

Parameters
accountId账户ID
instrumentId合约代码
Returns
删除成功返回 true,失败返回 false

Implemented in fix40::SqliteStore.

◆ deletePositionsByAccount()

virtual bool fix40::IStore::deletePositionsByAccount ( const std::string &  accountId)
pure virtual

删除账户的所有持仓

从数据库删除指定账户的所有持仓。

Parameters
accountId账户ID
Returns
删除成功返回 true,失败返回 false

Implemented in fix40::SqliteStore.

◆ loadAccount()

virtual std::optional< Account > fix40::IStore::loadAccount ( const std::string &  accountId)
pure virtual

加载账户信息

从数据库加载指定账户的状态。

Parameters
accountId账户ID
Returns
如果账户存在返回 Account 对象,否则返回 std::nullopt

Implemented in fix40::SqliteStore.

◆ loadActiveOrders()

virtual std::vector< Order > fix40::IStore::loadActiveOrders ( )
pure virtual

Implemented in fix40::SqliteStore.

◆ loadAllAccounts()

virtual std::vector< Account > fix40::IStore::loadAllAccounts ( )
pure virtual

加载所有账户

从数据库加载所有账户信息。

Returns
账户列表

Implemented in fix40::SqliteStore.

Here is the caller graph for this function:

◆ loadAllOrders()

virtual std::vector< Order > fix40::IStore::loadAllOrders ( )
pure virtual

Implemented in fix40::SqliteStore.

◆ loadAllPositions()

virtual std::vector< Position > fix40::IStore::loadAllPositions ( )
pure virtual

加载所有持仓

从数据库加载所有持仓信息。

Returns
持仓列表

Implemented in fix40::SqliteStore.

Here is the caller graph for this function:

◆ loadMessages()

virtual std::vector< StoredMessage > fix40::IStore::loadMessages ( const std::string &  senderCompID,
const std::string &  targetCompID,
int  beginSeqNum,
int  endSeqNum 
)
pure virtual

Implemented in fix40::SqliteStore.

◆ loadOrder()

virtual std::optional< Order > fix40::IStore::loadOrder ( const std::string &  clOrdID)
pure virtual

Implemented in fix40::SqliteStore.

◆ loadOrdersByAccount()

virtual std::vector< Order > fix40::IStore::loadOrdersByAccount ( const std::string &  accountId)
pure virtual

Implemented in fix40::SqliteStore.

◆ loadOrdersBySymbol()

virtual std::vector< Order > fix40::IStore::loadOrdersBySymbol ( const std::string &  symbol)
pure virtual

Implemented in fix40::SqliteStore.

◆ loadPosition()

virtual std::optional< Position > fix40::IStore::loadPosition ( const std::string &  accountId,
const std::string &  instrumentId 
)
pure virtual

加载持仓信息

从数据库加载指定账户在指定合约上的持仓。

Parameters
accountId账户ID
instrumentId合约代码
Returns
如果持仓存在返回 Position 对象,否则返回 std::nullopt

Implemented in fix40::SqliteStore.

◆ loadPositionsByAccount()

virtual std::vector< Position > fix40::IStore::loadPositionsByAccount ( const std::string &  accountId)
pure virtual

加载账户的所有持仓

从数据库加载指定账户的所有持仓信息。

Parameters
accountId账户ID
Returns
持仓列表

Implemented in fix40::SqliteStore.

◆ loadSessionState()

virtual std::optional< SessionState > fix40::IStore::loadSessionState ( const std::string &  senderCompID,
const std::string &  targetCompID 
)
pure virtual

Implemented in fix40::SqliteStore.

Here is the caller graph for this function:

◆ loadTradesByOrder()

virtual std::vector< StoredTrade > fix40::IStore::loadTradesByOrder ( const std::string &  clOrdID)
pure virtual

Implemented in fix40::SqliteStore.

◆ loadTradesBySymbol()

virtual std::vector< StoredTrade > fix40::IStore::loadTradesBySymbol ( const std::string &  symbol)
pure virtual

Implemented in fix40::SqliteStore.

◆ saveAccount()

virtual bool fix40::IStore::saveAccount ( const Account account)
pure virtual

保存账户信息

将账户状态持久化到数据库。如果账户已存在则更新,否则插入新记录。

Parameters
account要保存的账户对象
Returns
保存成功返回 true,失败返回 false
Note
此方法使用 INSERT OR REPLACE 语义,确保幂等性

Implemented in fix40::SqliteStore.

◆ saveMessage()

virtual bool fix40::IStore::saveMessage ( const StoredMessage msg)
pure virtual

Implemented in fix40::SqliteStore.

Here is the caller graph for this function:

◆ saveOrder()

virtual bool fix40::IStore::saveOrder ( const Order order)
pure virtual

保存订单(不包含订单归属信息)

该接口兼容旧代码路径与测试;在需要按用户隔离查询订单历史的场景, 应优先使用 saveOrderForAccount() 写入 accountId 并使用 loadOrdersByAccount() 查询。

Implemented in fix40::SqliteStore.

◆ saveOrderForAccount()

virtual bool fix40::IStore::saveOrderForAccount ( const Order order,
const std::string &  accountId 
)
pure virtual

保存订单并记录订单归属账户

Parameters
order订单对象
accountId订单所属账户(由服务端基于 Session 身份绑定得出,不应由客户端消息提供)
Returns
保存成功返回 true,失败返回 false

Implemented in fix40::SqliteStore.

◆ savePosition()

virtual bool fix40::IStore::savePosition ( const Position position)
pure virtual

保存持仓信息

将持仓状态持久化到数据库。如果持仓已存在则更新,否则插入新记录。

Parameters
position要保存的持仓对象
Returns
保存成功返回 true,失败返回 false
Note
此方法使用 INSERT OR REPLACE 语义,确保幂等性

Implemented in fix40::SqliteStore.

◆ saveSessionState()

virtual bool fix40::IStore::saveSessionState ( const SessionState state)
pure virtual

Implemented in fix40::SqliteStore.

Here is the caller graph for this function:

◆ saveTrade()

virtual bool fix40::IStore::saveTrade ( const StoredTrade trade)
pure virtual

Implemented in fix40::SqliteStore.

◆ updateOrder()

virtual bool fix40::IStore::updateOrder ( const Order order)
pure virtual

Implemented in fix40::SqliteStore.


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