|
| virtual | ~Source ()=default |
| virtual void | subAccount (ref ispListener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0 |
| virtual void | unsubAccount (ref isplistener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0 |
| virtual void | unsubAccountInternal (std::uint64_t uListener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0 |
| virtual ErrorCodeI | subAccountHistory (ref ispListener, AccountID const &account)=0 |
| | subscribe an account's new transactions and retrieve the account's historical transactions
|
| virtual void | unsubAccountHistory (ref ispListener, AccountID const &account, bool historyOnly)=0 |
| | unsubscribe an account's transactions
|
| virtual void | unsubAccountHistoryInternal (std::uint64_t uListener, AccountID const &account, bool historyOnly)=0 |
| virtual void | scheduleAccountCleanup (std::uint64_t seq, hash_set< AccountID > rtAccounts, hash_set< AccountID > normalAccounts, hash_set< AccountID > historyAccounts)=0 |
| | Schedule the server-side teardown of a disconnecting connection's account subscriptions off the destructor thread.
|
| virtual bool | subLedger (ref ispListener, json::Value &jvResult)=0 |
| virtual bool | unsubLedger (std::uint64_t uListener)=0 |
| virtual bool | subBookChanges (ref ispListener)=0 |
| virtual bool | unsubBookChanges (std::uint64_t uListener)=0 |
| virtual bool | subManifests (ref ispListener)=0 |
| virtual bool | unsubManifests (std::uint64_t uListener)=0 |
| virtual void | pubManifest (Manifest const &)=0 |
| virtual bool | subServer (ref ispListener, json::Value &jvResult, bool admin)=0 |
| virtual bool | unsubServer (std::uint64_t uListener)=0 |
| virtual bool | subBook (ref ispListener, Book const &)=0 |
| virtual bool | unsubBook (ref ispListener, Book const &)=0 |
| | Remove a book subscription for a live subscriber.
|
| virtual bool | unsubBookInternal (std::uint64_t uListener, Book const &)=0 |
| | Remove a book subscription during InfoSub teardown.
|
| virtual bool | subTransactions (ref ispListener)=0 |
| virtual bool | unsubTransactions (std::uint64_t uListener)=0 |
| virtual bool | subRTTransactions (ref ispListener)=0 |
| virtual bool | unsubRTTransactions (std::uint64_t uListener)=0 |
| virtual bool | subValidations (ref ispListener)=0 |
| virtual bool | unsubValidations (std::uint64_t uListener)=0 |
| virtual bool | subPeerStatus (ref ispListener)=0 |
| virtual bool | unsubPeerStatus (std::uint64_t uListener)=0 |
| virtual void | pubPeerStatus (std::function< json::Value(void)> const &)=0 |
| virtual bool | subConsensus (ref ispListener)=0 |
| virtual bool | unsubConsensus (std::uint64_t uListener)=0 |
| virtual pointer | findRpcSub (std::string const &strUrl)=0 |
| virtual pointer | addRpcSub (std::string const &strUrl, ref rspEntry)=0 |
| virtual bool | tryRemoveRpcSub (std::string const &strUrl)=0 |
| virtual beast::Journal const & | journal () const =0 |
| | Journal used by InfoSub for diagnostics that occur after the owning subsystem (e.g.
|
Abstracts the source of subscription data.
Definition at line 105 of file InfoSub.h.
Schedule the server-side teardown of a disconnecting connection's account subscriptions off the destructor thread.
The implementation posts a low-priority JobQueue task that erases the entries in bounded chunks, so ~InfoSub returns immediately instead of running the erase loop inline. The sets are taken by value so the job owns its copies and never references the destroyed InfoSub. Cleanup is keyed on seq (unique per connection), so deferring it cannot disturb a reconnected client reusing the same accounts.
- Parameters
-
| seq | The disconnecting connection's unique subscription id. |
| rtAccounts | Real-time account subscriptions to remove. |
| normalAccounts | Normal account subscriptions to remove. |
| historyAccounts | Account-history subscriptions to remove. |
- Note
- The implementing Source must outlive any job it posts. If the JobQueue is already stopping (process shutdown), the job is not enqueued; the cleanup is skipped because the server-side maps are about to be destroyed and no publishing can run.
Implemented in xrpl::NetworkOPsImp.