23 #include <boost/asio.hpp> 24 #include <boost/thread/shared_mutex.hpp> 39 class InternalSubscription;
47 SubscriptionServiceInternal(Server::AddressSpace::SharedPtr addressspace, boost::asio::io_service &
io,
const Common::Logger::SharedPtr & logger);
51 virtual std::vector<StatusCode>
DeleteSubscriptions(
const std::vector<uint32_t> & subscriptions);
66 boost::asio::io_service &
io;
std::map< NodeId, uint32_t > PublishRequestQueues
~SubscriptionServiceInternal()
bool PopPublishRequest(NodeId node)
virtual SubscriptionData CreateSubscription(const CreateSubscriptionRequest &request, std::function< void(PublishResult)> callback)
uint32_t LastSubscriptionId
SubscriptionServiceInternal(Server::AddressSpace::SharedPtr addressspace, boost::asio::io_service &io, const Common::Logger::SharedPtr &logger)
virtual RepublishResponse Republish(const RepublishParameters &request)
Common::Logger::SharedPtr Logger
boost::asio::io_service & GetIOService()
Server::AddressSpace::SharedPtr AddressSpace
SubscriptionsIdMap SubscriptionsMap
OPC UA Address space part. GNU LGPL.
virtual std::vector< StatusCode > DeleteSubscriptions(const std::vector< uint32_t > &subscriptions)
boost::asio::io_service & io
std::map< IntegerId, std::shared_ptr< InternalSubscription > > SubscriptionsIdMap
void TriggerEvent(NodeId node, Event event)
virtual std::vector< MonitoredItemCreateResult > CreateMonitoredItems(const MonitoredItemsParameters ¶ms)
void DeleteAllSubscriptions()
virtual std::vector< StatusCode > DeleteMonitoredItems(const DeleteMonitoredItemsParameters ¶ms)
boost::shared_mutex DbMutex
virtual ModifySubscriptionResponse ModifySubscription(const ModifySubscriptionParameters ¶meters)
virtual void Publish(const PublishRequest &request)
Server::AddressSpace & GetAddressSpace()