What are some candidate libraries for inter-thread communication like message boxes or event systems?

Hi, I hope this is the right place to ask this question.

I have an existing C++17 application that makes use of a number of standard threads. In particular one thread is an MQTT client - it subscribes to topics on a remote Broker and when another process somewhere publishes to a subscribed topic, a message is received by this thread. Now I want to forward this message to one of a number of threads in my application (perhaps based on the topic, or something in the message payload itself).

On the one hand I could just make each thread have its own dedicated MQTT client, with its own connection to the Broker, and it can subscribe just to the topics it cares about. I think this would work, but I'm not sure if it's the right approach, and it doubles up (or worse) on network resources when multiple threads want to subscribe to the same topic.

So I'm also considering an approach where I have a single MQTT client thread that subscribes on behalf of all the threads and dispatches incoming messages via some kind of internal messaging or mailbox system. Perhaps each thread has its own "receipt" queue (protected by locks etc) that the MQTT Client thread can push data into, and it registers itself during initialisation. I could probably design my own mechanism, but I am a little time-pressed, it's likely to be buggy for a long time, and I'd prefer to learn to use a decent open-source library instead.

I was looking at SObjectizer as a message box provider, and it seems well designed and the API is nice, but I'm not sure how to go about retro-fitting it into an existing application, since all my threads already exist and I don't really want to change them all into SO "Agents", and I also don't see how to integrate the Dispatcher. I think it's worth a look though, if anyone with experience can confirm it is appropriate.

Alternatively, are there any other libraries out there for robust messaging between multiple threads in a single application? Note that I don't need network or IPC support as all the threads are in the same process. Anything like this in Boost?

I'm also looking for any suggestions of what this kind of library might be called - what sort of terms should I be searching for? What is this kind of system called? Inter-thread Communication? Messaging System? In-process Pub/Sub? "Actor Concurrency" - is that the thing I am trying to do?

If it's of any interest, the MQTT Client I am using is [mqtt_cpp](https://g

... keep reading on reddit ➑

πŸ‘︎ 19
πŸ’¬︎
πŸ‘€︎ u/meowsqueak
πŸ“…︎ Jan 12 2022
🚨︎ report
Inter-satellite laser communications means Starlink can carry data at speed of light in vacuum all around Earth before touching ground. Over time, some amount of communication can simply be from one user terminal to another without touching the Internet twitter.com/elonmusk/stat…
πŸ‘︎ 253
πŸ’¬︎
πŸ‘€︎ u/ageingrockstar
πŸ“…︎ Nov 16 2021
🚨︎ report
Inter-Steller Communication?

Hey folks!

So, in the game I'm prepping to start, the players are going to be working for a company that answers distress beacons. It's basically a blend of privatized first responders, a towing company, and a salvage yard. The PCs will show up at the source of a distress beacon, help any survivors, and, if the ship is unclaimed, tow it back to their shipyard to eventually scrap for parts.

Now, I've hit something of a snag. I'm planning one of their future distress calls, and I want them to go to the next system over. Trouble is, it occurs to me that communication between systems doesn't really work like this. It seems like inter-stellar communication either: 1. happens because ships make spike drive jumps, which can take days to weeks, or 2. like, the ship broadcasts a message, but that could literally take years to travel between stars. Neither of those are really reasonable for distress beacons, which usually are used in urgent situations.

So, have any of you figured out reasonable ways to allow at least some interstellar communication? I could be a little hand-wavey about it, and say that there's a device called a Quantum Informational Radio that's fairly common on ships with spike drives, in their comms arrays, that can encode packets of information in quantum particles and either broadcast or beam them quickly across vast distances - and, like, yeah, that would probably work fine, but it just always feels cheap to slap the word QUANTUM on something and call it good.

Has anyone else figured out a better way to allow communication over vast distances? I know that's not really the way it works in the base game, but we all run these things a little differently, so I'm hoping someone else has had a better idea than I did.

πŸ‘︎ 32
πŸ’¬︎
πŸ‘€︎ u/AsAHistorian
πŸ“…︎ Dec 14 2021
🚨︎ report
"Group" emails for inter-office communication..

Hey everyone! Posted this in the "Office" sub as well but, there aren't a ton of members in there so, I'm trying here to try and expand the reach and get the answer faster?

In Office 365 (Outlook) I'm trying to figure out a way to be able to send inter-office emails to coworkers without having to type out everyone's email individually. I attempted to create a Group this morning but, it wasn't quite what I thought it was going to be.

Essentially, it'd be great to bring up a new email, type in "Sales Staff" in the To field and it will send that email to anyone who was added to that "group" or "list" of contacts. Additionally, it'd be great to be able to have different groups like this for individual departments; sales, production, front end, etc.

It really seems like a simple thing but, I can't seem to find how to do it how I see it in my mind.

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/TAWHSRED
πŸ“…︎ Oct 31 2019
🚨︎ report
Inter-Physician Communication

This more of a gripe than a request for feedback but I’m open to other opinions.

Had an incident with a patient this week with severe asthma. He transferred care to me about 2-3 years ago. He gets excellent care from his pulmonologist. Aggressive steroids and abx as needed and Nucala, etc. There has been also a listed diagnosis of pulmonary fibrosis In the past.

So he presents to meet with progressive dyspnea on exertion, even worse compared to his usual asthma baseline. Pulmonologist ordered a chest x-ray which shows no acute cardiopulmonary disease. And it strikes me as odd that a chest x-ray for a patient with pulmonary fibrosis should read normal. So I do a bit of digging through the chart (epic) & really don’t find any supporting evidence for this. PFTs are ordered and pending. It’s unclear where this β€œdiagnosis” appeared from in the chart and has been Propagated through the chart for a while now.

But in the meantime I communicated my findings with his pulmonologist to see if he had any further insight. In summary, the only response I got was β€œI never made that diagnosis, not my fault, next time don’t write any of those things down since they could be discoverable and just call me instead.β€œ as though he would’ve wanted to listen to my four minute summary over the phone in the current climate anyway.

I just found that irritating since there was no attempt to assign blame on my part, I was only doing my due diligence (I thought) to clarify this patient’s respiratory disease and clarify in his chart as appropriate. I also understand that in the current medical legal system, he could be defended for worrying about these things. But this frostiness is not unique to him or this situation, and I fear that poor communication between physicians because of fear of remonstration by a colleague could impair patient care/outcomes in the future.

Just wanted to share.

πŸ‘︎ 15
πŸ’¬︎
πŸ‘€︎ u/Irishhobbit6
πŸ“…︎ Jan 17 2022
🚨︎ report
Do you want your faction/player group's voice to heard within ElitePS? Been killed by the DSA? Join the Treaty for Inhabited Territories and Star Systems for inter-faction diplomacy and communication.

TITSS is a player group consisting of several other larger PS4 factions and player groups. The sole purpose of the treaty is to provide common ground for all (but one) player groups to coordinate.

The treaty was founded out of a pure necessity to combat the attempts of the Dark Star Alliance and their ranks of combat loggers and murderhobos. The DSA is common enemy to almost all player factions, and TITSS is what will bring them down.

DM me for Discord invite. Godspeed, CMDRs. o7

πŸ‘︎ 13
πŸ’¬︎
πŸ‘€︎ u/ShermanMerrman
πŸ“…︎ Oct 28 2017
🚨︎ report
What Is IBC: Inter Blockchain Communication?

We provide over 100+ FREE crypto articles on our SubStack! :D (Link on our profile). This is not financial advice.

TLDR:

So you learned what an IBC is and how important it is to the Cosmos ecosystem. This feature makes the cryptocurrencies built on Cosmos easier to interact with and more efficient to use capital. This protocol creates the infrastructure for tokens to communicate across various blockchain tech stack.

General Conclusion

If you are active in the Cosmos Network, one of the first terms you will come across is IBC (Inter Blockchain Communication) and IBC is a very important feature of Cosmos Network. So what exactly is IBC and why is it important to the Cosmos Network?

3 Approaches To Improve Blockchain Scalability

With Ethereum as the standard, there are currently three main ways blockchain infrastructure seeks to improve the scalability & scale of smart contracts.

  1. The first way is through the use of Rollup technology, which allows the wrapping of transactions taking place in L1 on the sidechain into a single aggregated block and recorded on the original L1 Blockchain. This allows off-chain transaction data to be available on layer 1 whenever needed to validate a state transition. This is the Layer 2 extension technology that Ethereum is using.
    Check this video as Lisa explains what Rollup technology is.
    You can imagine it like creating a school bus for transactions on Ethereum. Although they are not arbitrarily scalable, they are a good short & medium term way to relieve congestion pressure. Imagine a school bus sending 50 kids instead of 50 cars on the road!
  2. The second path is to build a brand new Layer 1 blockchain to achieve higher throughput and scalability using other technologies.
    For example, in the case of Solana & Internet Computer to achieve higher throughput, they require each node to be extremely powerful. (Side note: this is the reason why Solana went offline for a while in Sept.)
    This means that transaction processing is no longer performed by the vast majority of ordinary users because to do so they will need to invest a large amount of money in computer hardware, which is suitable. with individuals or organisations that are technically savvy and have ample financial resources. This is of course a trade-o
... keep reading on reddit ➑

πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/economicsdesign
πŸ“…︎ Dec 28 2021
🚨︎ report
Restricting inter-player communication while deafened

Hi, I'm planning a campaign that involves dealing with a flock of Harpies, hopefully culminating in a battle against a Harpy boss.

I'm anticipating ways that my players might try to deal with these Harpies, namely by deafening themselves to protect against their Luring Song. This would be smart thinking and I want the players to feel good for coming up with a clever idea, but it should come with it's disadvantages.

If they do choose to do this, obviously normal rules will apply to them for the Deafened condition (auto fail any checks requiring hearing). But, I was also thinking about adding a caveat that may really challenge the players' ability to work together, especially in a tactical boss battle; namely, restricting or banning verbal communication between the players while deafened.

Is this a terrible idea, or would it add a bit of a unique challenge?

πŸ‘︎ 49
πŸ’¬︎
πŸ‘€︎ u/BoldRay
πŸ“…︎ Dec 02 2021
🚨︎ report
[Lester] Sources tell me Houston Dynamo have acquired $100K in GAM from Inter Miami CF in exchange for FW/MF Ari Lassiter. Lassiter played 19 games (4 starts) in 2021 (0 goals, 0 assists). Official communication from the club to follow shortly. twitter.com/lesterdeporte…
πŸ‘︎ 10
πŸ’¬︎
πŸ‘€︎ u/TheSurgeSG
πŸ“…︎ Dec 16 2021
🚨︎ report
Interoperability solutions Cronos Chain incorporates the Inter Blockchain Communications (IBC) protocol which enables the movement of tokens across various chains. EVM Compatibility Cronos EVM compatibility supports swift porting of smart contracts and apps from EVM-compatible chains. #cronos $CROWN
πŸ‘︎ 3
πŸ’¬︎
πŸ“…︎ Jan 25 2022
🚨︎ report
[Lester] Sources tell me Houston Dynamo have acquired $100K in GAM from Inter Miami CF in exchange for FW/MF Ari Lassiter Lassiter played 19 games (4 starts) in 2021 (0 goals, 0 assists). Official communication from the club to follow shortly. twitter.com/lesterdeporte…
πŸ‘︎ 23
πŸ’¬︎
πŸ‘€︎ u/TheSurgeSG
πŸ“…︎ Dec 16 2021
🚨︎ report
Secret Network Implements Inter-Blockchain-Communication Integration With The Cosmos

Secret Network has without doubt become a place for the development and implementation of initiatives with great potential. The most recent is the Inter-Blockchain-Communication (IBC) integration between Secret Network and the Cosmos ecosystem of blockchains. The integration itself was carried out by Secret Labs.

The IBC integration means that Secret Network has bridged with the Cosmos ecosystem, and this has mutual advantages for Secret Network and the other blockchains within Cosmos. One advantage is that Secret Network has given other Cosmos blockchains access to privacy. Another advantage is that Secret Network can now scale and interoperate with the Cosmos.

IBC integration also means that the multi-chain future has arrived on Secret Network. You can now do a transaction on Secret Network to send SCRT and pay the gas fees in ATOM, meaning that the IBC gang can now pay transaction fees in their native tokens to enjoy privacy on Secret Network. Tokens such as ATOM, LUNA, UST, OSMO are part of the IBC gang.

With IBC integration, SCRT is now available to swap on osmosis zone. This allows SCRT holders to easily gain exposure to other Cosmos tokens like ATOM, OSMO, LUNA & CRO while providing a simple new way to obtain SCRT.

πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/uninslalm
πŸ“…︎ Nov 26 2021
🚨︎ report
Cosmos SDK and Inter Blockchain Communication (IBC)

The current blockchain architecture is designed in such a way that, dApps built on maybe BSC chain cannot communicate with Polygon or vice versa.

But using the Cosmos SDK and IBC protocol, CronosWorld is planning to solve the problem. IBC allows blockchains to transfer messages, assets and data from one blockchain to another without an intermediary like a bridge.

https://preview.redd.it/nj3a7jr92gd81.png?width=943&format=png&auto=webp&s=e180ff24bbb2572ebd8c63fa8276488a72c5ecb4

Main Features

  1. IBC is designed in such a way that apart from different connecting different blockchains, it can connect with IoT and distributed file systems.
  2. dApps on other chains like Ethereum, can be run on Cronos Chain via Cosmos SDK.
  3. Cosmos SDK will not be used for token transfers but also for staking and governance.
  4. The utility token CRO and CROWN will be used as gas for the multi-blockchain ecosystem.

Socials

Telegram β€” https://t.me/Cronosworld

Twitter β€” https://twitter.com/Cronos_World

Medium β€” https://cronosworld.medium.com/

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/zuhaibmd44
πŸ“…︎ Jan 23 2022
🚨︎ report
IBC: Inter Blockchain Communication.

IBC is the backbone of the cosmos(blockchain) ecosystem.

IBC handles transport across different sovereign blockchains.This will provide communication between blockchains.

IBC is built as a cosmos SDK module. IBC makes it easy for developers to build their own chain

without much knowledge of low level details of clients connections and proof verification.

The brief explanation of lower levels of the stack is provided so that app developers can gain a high level understanding of the IBC protocol.

A key feature of IBC is that the connected blockchains do not need to communicate with each other directly.

Instead, they are able to send packets of information via dedicated channels using smart contracts to connect to the chains.

The Tendermint‐based decentralized exchange Osmosis allows for token holders to directly benefit from what IBC offers by enabling seamless swaps of tokens from different chains.

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/walkingLien
πŸ“…︎ Jan 23 2022
🚨︎ report
Cosmos ATOM: The Internet of Blockchains and its Inter Blockchain Communication publish0x.com/2sats/cosmo…
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/bordoisse
πŸ“…︎ Jan 20 2022
🚨︎ report
Thoughts on Cosmos IBC (inter blockchain communication)? Seems similar to CCIP
πŸ‘︎ 24
πŸ’¬︎
πŸ‘€︎ u/zero_is_a_mirror
πŸ“…︎ Dec 02 2021
🚨︎ report
The Inter Blockchain Communication protocol (IBC) is a protocol for communication between blockchains. This infographic illustrates the main features of IBC & highlights ⏬ @Cronos_World @cronos_chain #CRO $CROWN #DeFi #NFT #cryptocurrency #IBC
πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/Tahirasiddiqui
πŸ“…︎ Dec 27 2021
🚨︎ report
Inter-Blockchain Communication
πŸ‘︎ 21
πŸ’¬︎
πŸ‘€︎ u/WorkerBee-3
πŸ“…︎ Nov 24 2021
🚨︎ report
What Is IBC: Inter Blockchain Communication?

We provide over 100+ FREE crypto articles on our SubStack! :D (Link on our profile). This is not financial advice.

TLDR:So you learned what an IBC is and how important it is to the Cosmos ecosystem. This feature makes the cryptocurrencies built on Cosmos easier to interact with and more efficient to use capital. This protocol creates the infrastructure for tokens to communicate across various blockchain tech stack.

General Conclusion

If you are active in the Cosmos Network, one of the first terms you will come across is IBC (Inter Blockchain Communication) and IBC is a very important feature of Cosmos Network. So what exactly is IBC and why is it important to the Cosmos Network?

3 Approaches To Improve Blockchain Scalability

With Ethereum as the standard, there are currently three main ways blockchain infrastructure seeks to improve the scalability & scale of smart contracts.

  1. The first way is through the use of Rollup technology, which allows the wrapping of transactions taking place in L1 on the sidechain into a single aggregated block and recorded on the original L1 Blockchain. This allows off-chain transaction data to be available on layer 1 whenever needed to validate a state transition. This is the Layer 2 extension technology that Ethereum is using. Check this video as Lisa explains what Rollup technology is. You can imagine it like creating a school bus for transactions on Ethereum. Although they are not arbitrarily scalable, they are a good short & medium term way to relieve congestion pressure. Imagine a school bus sending 50 kids instead of 50 cars on the road!
  2. The second path is to build a brand new Layer 1 blockchain to achieve higher throughput and scalability using other technologies. For example, in the case of Solana & Internet Computer to achieve higher throughput, they require each node to be extremely powerful. (Side note: this is the reason why Solana went offline for a while in Sept.) This means that transaction processing is no longer performed by the vast majority of ordinary users because to do so they will need to invest a large amount of money in computer hardware, which is suitable. with individuals or organisations that are technically savvy and have ample financial resources. This is of course a trade-off as it affects the decentralisation of the blockchain. In our analogy, that means bigger buses to transport people.
  3. The third path is to **combine heterogeneous blockchains throu
... keep reading on reddit ➑

πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/economicsdesign
πŸ“…︎ Jan 10 2022
🚨︎ report
What Is IBC: Inter Blockchain Communication?

We provide over 100+ FREE crypto articles on our SubStack! :D (Link on our profile). This is not financial advice.

TLDR:So you learned what an IBC is and how important it is to the Cosmos ecosystem. This feature makes the cryptocurrencies built on Cosmos easier to interact with and more efficient to use capital. This protocol creates the infrastructure for tokens to communicate across various blockchain tech stack.

General Conclusion

If you are active in the Cosmos Network, one of the first terms you will come across is IBC (Inter Blockchain Communication) and IBC is a very important feature of Cosmos Network. So what exactly is IBC and why is it important to the Cosmos Network?

3 Approaches To Improve Blockchain Scalability

With Ethereum as the standard, there are currently three main ways blockchain infrastructure seeks to improve the scalability & scale of smart contracts.

  1. The first way is through the use of Rollup technology, which allows the wrapping of transactions taking place in L1 on the sidechain into a single aggregated block and recorded on the original L1 Blockchain. This allows off-chain transaction data to be available on layer 1 whenever needed to validate a state transition. This is the Layer 2 extension technology that Ethereum is using. Check this video as Lisa explains what Rollup technology is. You can imagine it like creating a school bus for transactions on Ethereum. Although they are not arbitrarily scalable, they are a good short & medium term way to relieve congestion pressure. Imagine a school bus sending 50 kids instead of 50 cars on the road!
  2. The second path is to build a brand new Layer 1 blockchain to achieve higher throughput and scalability using other technologies. For example, in the case of Solana & Internet Computer to achieve higher throughput, they require each node to be extremely powerful. (Side note: this is the reason why Solana went offline for a while in Sept.) This means that transaction processing is no longer performed by the vast majority of ordinary users because to do so they will need to invest a large amount of money in computer hardware, which is suitable. with individuals or organisations that are technically savvy and have ample financial resources. This is of course a trade-off as it affects the decentralisation of the blockchain. In our analogy, that means bigger buses to transport people.
  3. The third path is to **combine heterogeneous blockchains throu
... keep reading on reddit ➑

πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/economicsdesign
πŸ“…︎ Jan 10 2022
🚨︎ report
What Is IBC: Inter Blockchain Communication?

We provide over 100+ FREE crypto articles on our SubStack! :D (Link on our profile). This is not financial advice.

TLDR:So you learned what an IBC is and how important it is to the Cosmos ecosystem. This feature makes the cryptocurrencies built on Cosmos easier to interact with and more efficient to use capital. This protocol creates the infrastructure for tokens to communicate across various blockchain tech stack.

General Conclusion

If you are active in the Cosmos Network, one of the first terms you will come across is IBC (Inter Blockchain Communication) and IBC is a very important feature of Cosmos Network. So what exactly is IBC and why is it important to the Cosmos Network?

3 Approaches To Improve Blockchain Scalability

With Ethereum as the standard, there are currently three main ways blockchain infrastructure seeks to improve the scalability & scale of smart contracts.

  1. The first way is through the use of Rollup technology, which allows the wrapping of transactions taking place in L1 on the sidechain into a single aggregated block and recorded on the original L1 Blockchain. This allows off-chain transaction data to be available on layer 1 whenever needed to validate a state transition. This is the Layer 2 extension technology that Ethereum is using. Check this video as Lisa explains what Rollup technology is. You can imagine it like creating a school bus for transactions on Ethereum. Although they are not arbitrarily scalable, they are a good short & medium term way to relieve congestion pressure. Imagine a school bus sending 50 kids instead of 50 cars on the road!
  2. The second path is to build a brand new Layer 1 blockchain to achieve higher throughput and scalability using other technologies. For example, in the case of Solana & Internet Computer to achieve higher throughput, they require each node to be extremely powerful. (Side note: this is the reason why Solana went offline for a while in Sept.) This means that transaction processing is no longer performed by the vast majority of ordinary users because to do so they will need to invest a large amount of money in computer hardware, which is suitable. with individuals or organisations that are technically savvy and have ample financial resources. This is of course a trade-off as it affects the decentralisation of the blockchain. In our analogy, that means bigger buses to transport people.
  3. The third path is to **combine heterogeneous blockchains throu
... keep reading on reddit ➑

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/economicsdesign
πŸ“…︎ Jan 10 2022
🚨︎ report
What Is IBC: Inter Blockchain Communication?

We provide over 100+ FREE crypto articles on our SubStack! :D (Link on our profile). This is not financial advice.

TLDR:

So you learned what an IBC is and how important it is to the Cosmos ecosystem. This feature makes the cryptocurrencies built on Cosmos easier to interact with and more efficient to use capital. This protocol creates the infrastructure for tokens to communicate across various blockchain tech stack.

General Conclusion

If you are active in the Cosmos Network, one of the first terms you will come across is IBC (Inter Blockchain Communication) and IBC is a very important feature of Cosmos Network. So what exactly is IBC and why is it important to the Cosmos Network?

3 Approaches To Improve Blockchain Scalability

With Ethereum as the standard, there are currently three main ways blockchain infrastructure seeks to improve the scalability & scale of smart contracts.

  1. The first way is through the use of Rollup technology, which allows the wrapping of transactions taking place in L1 on the sidechain into a single aggregated block and recorded on the original L1 Blockchain. This allows off-chain transaction data to be available on layer 1 whenever needed to validate a state transition. This is the Layer 2 extension technology that Ethereum is using.
    Check this video as Lisa explains what Rollup technology is.
    You can imagine it like creating a school bus for transactions on Ethereum. Although they are not arbitrarily scalable, they are a good short & medium term way to relieve congestion pressure. Imagine a school bus sending 50 kids instead of 50 cars on the road!
  2. The second path is to build a brand new Layer 1 blockchain to achieve higher throughput and scalability using other technologies.
    For example, in the case of Solana & Internet Computer to achieve higher throughput, they require each node to be extremely powerful. (Side note: this is the reason why Solana went offline for a while in Sept.)
    This means that transaction processing is no longer performed by the vast majority of ordinary users because to do so they will need to invest a large amount of money in computer hardware, which is suitable. with individuals or organisations that are technically savvy and have ample financial resources. This is of course a trade-o
... keep reading on reddit ➑

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/economicsdesign
πŸ“…︎ Dec 28 2021
🚨︎ report

Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.