Dripline-Cpp  v2.4.2
Dripline Implementation in C++
Public Member Functions | List of all members
listener Class Referenceabstract

A listener is a class capable of listening for AMQP messages on an AMQP channel. This class provides the basic framework for doing that. More...

#include <listener.hh>

Inheritance diagram for listener:
Inheritance graph

Public Member Functions

 listener ()
 
 listener (const listener &)=delete
 
 listener (listener &&a_orig)
 
virtual ~listener ()
 
listeneroperator= (const listener &)=delete
 
listeneroperator= (listener &&a_orig)
 
virtual bool listen_on_queue ()=0
 
 snake_case_mv_referrable (amqp_channel_ptr, channel)
 
 snake_case_mv_referrable (std::string, consumer_tag)
 
 snake_case_mv_accessible (unsigned, listen_timeout_ms)
 
 snake_case_mv_referrable (std::thread, listener_thread)
 

Detailed Description

A listener is a class capable of listening for AMQP messages on an AMQP channel. This class provides the basic framework for doing that.

Author
N.S. Oblath

The listener class is a mix-in class that provides the interface for listening for messages: the pure virtual function listen_on_queue(). This function should be run in the thread provided by this class. However, it needs to be implemented by the inheriting class.

The typical use case involves at least two threads:

  1. A listener gets messages from the AMQP channel (using listen_on_queue(), e.g. @ref service or @ref endpoint_listener_receiver) and callsreceiver::handle_message_chunk()`
  2. A receiver has a timing thread waiting for multiple message chunks (if relevant); when the message is complete, receiver::process_message() is called.

This class also provides the objects and information needed for listening on a queue: The AMQP channel A consumer tag A timeout (in ms) The thread object for listening

Definition at line 47 of file listener.hh.

Constructor & Destructor Documentation

◆ listener() [1/3]

listener ( )

Definition at line 23 of file listener.cc.

◆ listener() [2/3]

listener ( const listener )
delete

◆ listener() [3/3]

listener ( listener &&  a_orig)

Definition at line 31 of file listener.cc.

◆ ~listener()

~listener ( )
virtual

Definition at line 39 of file listener.cc.

Member Function Documentation

◆ listen_on_queue()

virtual bool listen_on_queue ( )
pure virtual

◆ operator=() [1/2]

listener& operator= ( const listener )
delete

◆ operator=() [2/2]

listener & operator= ( listener &&  a_orig)

Definition at line 42 of file listener.cc.

◆ snake_case_mv_accessible()

snake_case_mv_accessible ( unsigned  ,
listen_timeout_ms   
)

◆ snake_case_mv_referrable() [1/3]

snake_case_mv_referrable ( amqp_channel_ptr  ,
channel   
)

◆ snake_case_mv_referrable() [2/3]

snake_case_mv_referrable ( std::string  ,
consumer_tag   
)

◆ snake_case_mv_referrable() [3/3]

snake_case_mv_referrable ( std::thread  ,
listener_thread   
)

The documentation for this class was generated from the following files: