44 static const Topics EmptyTopics;
68 virtual void doWork()
override;
void noteAdvertiseTopicsOfInterest()
std::map< unsigned, ClientWatch > m_watches
Adapted from code found on http://stackoverflow.com/questions/180947/base64-decode-snippet-in-c Origi...
dev::SharedMutex x_messages
virtual void inject(Envelope const &_e, WhisperPeer *_from=nullptr) override
void streamMessage(h256 _m, RLPStream &_s) const
virtual void onStarting() override
virtual void onStopping() override
std::map< h256, InstalledFilter > m_filters
virtual h256s watchMessages(unsigned _watchId) override
returns IDs of messages, which match specific watch criteria
void cleanup()
remove old messages
TopicBloomFilterHash bloom() const
std::map< h256, Envelope > all() const
void stopWorking()
Stop worker thread; causes call to stopWorking().
std::lock_guard< std::mutex > Guard
unsigned protocolVersion() const
WhisperHost(bool _storeMessagesInDB=false)
virtual void uninstallWatch(unsigned _watchId) override
virtual Topics const & fullTopics(unsigned _id) const override
boost::shared_lock< boost::shared_mutex > ReadGuard
void startWorking()
Starts worker thread; causes startedWorking() to be called.
virtual unsigned installWatch(Topics const &_filter) override
void loadMessagesFromBD()
boost::shared_mutex SharedMutex
virtual void doWork() override
Called continuously following sleep for m_idleWaitMs.
bool isWatched(Envelope const &_e) const
bool m_storeMessagesInDB
needed for tests and other special cases
virtual Envelope envelope(h256 _m) const override
std::multimap< unsigned, h256 > m_expiryQueue
std::map< h256, Envelope > m_messages
virtual h256s checkWatch(unsigned _watchId) override
std::vector< h256 > h256s
Class for writing to an RLP bytestream.
virtual h256s peekWatch(unsigned _watchId) const override