Observable multiplexing

The three communication patterns studied in the previous part are certainly the most used ones in computer science. Other patterns exist, but most of the time they are variants of those. The sequence diagrams, as well as the figures showing how these pattern can be implemented on top of observables, should be clear enough so you can understand how they could be implemented. However, there are some important missing parts in these diagrams, things that must be handled so that the remote communication can work. The previous part described the network part, and how messages exchanged on it can be mapped to observables. But between these two parts, three other functional layers are needed:

  • Framing
  • Serialization
  • Routing

The following figure shows these layers on a communication between two peers:

Figure 12.12: The functional layers of remote communication

Framing consists of composing complete messages from bytes received on the network link. Serialization consists of transforming messages received on the network link to objects (Python objects in our case). Routing consists of sending received objects to the correct recipient.

Let's detail each of these layers, before implementing the publish/subscribe pattern on a network link.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.200.71