53 void Name(std::string name);
59 [[nodiscard]]
const std::string&
Name()
const;
73 [[nodiscard]] uint32_t
MemorySize()
const {
return memory_size_; }
92 [[nodiscard]]
const std::string&
Address()
const;
103 void Port(uint16_t port) {port_ = port; }
109 [[nodiscard]] uint16_t
Port()
const {
return port_; }
198 uint32_t memory_size_ = 16'000;
199 std::string address_;
203 void InprocessThread()
const;
size_t NofSubscribers() const
Returns number of attached subscribers.
std::vector< std::shared_ptr< IBusMessageQueue > > publishers_
List of attached publishers.
Definition ibusmessagebroker.h:189
virtual std::shared_ptr< IBusMessageQueue > CreateSubscriber()
Creates a subscriber queue.
void DetachPublisher(const std::shared_ptr< IBusMessageQueue > &publisher)
Detach a publisher from its broker.
const std::string & Address() const
Returns the TCP/IP address.
virtual void Start()
Starts the broker.
virtual ~IBusMessageBroker()=default
Default destructor.
void DetachSubscriber(const std::shared_ptr< IBusMessageQueue > &subscriber)
Detach a subscriber from its broker.
void Address(std::string address)
Sets the TCP/IP host address.
const std::string & Name() const
Returns the shared memory name.
virtual std::shared_ptr< IBusMessageQueue > CreatePublisher()
Creates a publisker queue.
void Name(std::string name)
Name of the shared memory.
std::vector< std::shared_ptr< IBusMessageQueue > > subscribers_
List of attached subscribers.
Definition ibusmessagebroker.h:191
std::atomic< bool > connected_
True if the broker is connected.
Definition ibusmessagebroker.h:185
void Port(uint16_t port)
Sets the TCP/IP port.
Definition ibusmessagebroker.h:103
std::thread thread_
Working thread.
Definition ibusmessagebroker.h:194
size_t NofPublishers() const
Returns number of attached publishers.
uint16_t Port() const
Returns the TCP/IP port.
Definition ibusmessagebroker.h:109
bool IsConnected() const
Return true if the client is connected.
IBusMessageBroker()=default
Default constructor.
void MemorySize(uint32_t size)
Sets the internal memory size.
Definition ibusmessagebroker.h:67
std::atomic< bool > stop_thread_
True if the thread shall stop.
Definition ibusmessagebroker.h:193
uint32_t MemorySize() const
Returns the internal memory size.
Definition ibusmessagebroker.h:73
virtual void Stop()
Stops the broker.
std::mutex queue_mutex_
Queue (lock) mutex.
Definition ibusmessagebroker.h:186
Interface against a message queue.
Definition ibusmessagequeue.h:41
Defines an interface against a message queue.
Main namespace for the MDF library.
Definition buslogstream.h:24
The channel structure define a shared memory connection.
Definition ibusmessagebroker.h:30
bool used
Indicate if the connection is used.
Definition ibusmessagebroker.h:31
uint32_t queue_index
Queue index of the connection.
Definition ibusmessagebroker.h:32