20#ifndef RIPPLE_NET_INFOSUB_H_INCLUDED
21#define RIPPLE_NET_INFOSUB_H_INCLUDED
23#include <xrpld/app/misc/Manifest.h>
25#include <xrpl/basics/CountedObject.h>
26#include <xrpl/json/json_value.h>
27#include <xrpl/protocol/Book.h>
28#include <xrpl/protocol/ErrorCodes.h>
29#include <xrpl/resource/Consumer.h>
117 bool historyOnly) = 0;
123 bool historyOnly) = 0;
Tracks the number of instances of an object.
virtual ~InfoSubRequest()=default
virtual Json::Value doStatus(Json::Value const &)=0
virtual Json::Value doClose()=0
Abstracts the source of subscription data.
virtual void pubManifest(Manifest const &)=0
virtual error_code_i subAccountHistory(ref ispListener, AccountID const &account)=0
subscribe an account's new transactions and retrieve the account's historical transactions
virtual bool subValidations(ref ispListener)=0
virtual bool unsubBook(std::uint64_t uListener, Book const &)=0
virtual bool unsubValidations(std::uint64_t uListener)=0
virtual bool subBook(ref ispListener, Book const &)=0
virtual bool subServer(ref ispListener, Json::Value &jvResult, bool admin)=0
virtual bool unsubServer(std::uint64_t uListener)=0
virtual bool unsubPeerStatus(std::uint64_t uListener)=0
virtual bool subBookChanges(ref ispListener)=0
virtual bool tryRemoveRpcSub(std::string const &strUrl)=0
virtual bool subConsensus(ref ispListener)=0
virtual bool subManifests(ref ispListener)=0
virtual bool unsubConsensus(std::uint64_t uListener)=0
virtual void unsubAccountInternal(std::uint64_t uListener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0
virtual bool unsubLedger(std::uint64_t uListener)=0
virtual bool unsubBookChanges(std::uint64_t uListener)=0
virtual pointer findRpcSub(std::string const &strUrl)=0
virtual bool subPeerStatus(ref ispListener)=0
virtual bool unsubTransactions(std::uint64_t uListener)=0
virtual void unsubAccount(ref isplistener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0
virtual bool unsubManifests(std::uint64_t uListener)=0
virtual bool subTransactions(ref ispListener)=0
virtual void pubPeerStatus(std::function< Json::Value(void)> const &)=0
virtual bool subLedger(ref ispListener, Json::Value &jvResult)=0
virtual void unsubAccountHistoryInternal(std::uint64_t uListener, AccountID const &account, bool historyOnly)=0
virtual pointer addRpcSub(std::string const &strUrl, ref rspEntry)=0
virtual void subAccount(ref ispListener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0
virtual void unsubAccountHistory(ref ispListener, AccountID const &account, bool historyOnly)=0
unsubscribe an account's transactions
virtual bool unsubRTTransactions(std::uint64_t uListener)=0
virtual ~Source()=default
virtual bool subRTTransactions(ref ispListener)=0
Manages a client's subscription to data feeds.
virtual void send(Json::Value const &jvObj, bool broadcast)=0
std::shared_ptr< InfoSubRequest > const & getRequest()
hash_set< AccountID > realTimeSubscriptions_
unsigned int getApiVersion() const noexcept
bool insertSubAccountHistory(AccountID const &account)
hash_set< AccountID > normalSubscriptions_
void deleteSubAccountInfo(AccountID const &account, bool rt)
hash_set< AccountID > accountHistorySubscriptions_
void setApiVersion(unsigned int apiVersion)
void insertSubAccountInfo(AccountID const &account, bool rt)
void deleteSubAccountHistory(AccountID const &account)
std::shared_ptr< InfoSubRequest > request_
void setRequest(std::shared_ptr< InfoSubRequest > const &req)
An endpoint that consumes resources.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.