3#include "feed/SubscriptionManagerInterface.hpp"
4#include "feed/Types.hpp"
5#include "rpc/common/Types.hpp"
7#include <rpcspec/HandlerFor.hpp>
8#include <rpcspec/handlers/unsubscribe/Types.hpp>
9#include <xrpl/protocol/AccountID.h>
25class UnsubscribeHandler :
public rpc::spec::HandlerFor<rpc::spec::handlers::unsubscribe::Input> {
26 std::shared_ptr<feed::SubscriptionManagerInterface> subscriptions_;
32 using OrderBook = rpc::spec::handlers::unsubscribe::OrderBook;
37 using StreamType = rpc::spec::handlers::unsubscribe::StreamType;
47 UnsubscribeHandler(std::shared_ptr<feed::SubscriptionManagerInterface>
const& subscriptions);
61 unsubscribeFromStreams(
62 std::vector<StreamType>
const& streams,
63 feed::SubscriberSharedPtr
const& session
67 unsubscribeFromAccounts(
68 std::vector<xrpl::AccountID>
const& accounts,
69 feed::SubscriberSharedPtr
const& session
73 unsubscribeFromProposedAccounts(
74 std::vector<xrpl::AccountID>
const& accountsProposed,
75 feed::SubscriberSharedPtr
const& session
80 std::vector<OrderBook>
const& books,
81 feed::SubscriberSharedPtr
const& session
rpc::spec::handlers::unsubscribe::OrderBook OrderBook
A struct to hold one order book.
Definition Unsubscribe.hpp:32
UnsubscribeHandler(std::shared_ptr< feed::SubscriptionManagerInterface > const &subscriptions)
Construct a new BaseUnsubscribeHandler object.
Definition Unsubscribe.cpp:17
Result process(Input const &input, Context const &ctx) const
Process the Unsubscribe command.
Definition Unsubscribe.cpp:25
rpc::spec::handlers::unsubscribe::StreamType StreamType
A subscribable stream type.
Definition Unsubscribe.hpp:37
This namespace contains all the RPC logic and handlers.
Definition AMMHelpers.cpp:17
std::expected< OutputType, Status > HandlerReturnType
Return type for each individual handler.
Definition Types.hpp:61
Context of an RPC call.
Definition Types.hpp:98
An empty type used as Output for handlers than don't actually produce output.
Definition Types.hpp:93