/
Redis Channels

Redis Channels

Three different types of channels:

  1. input

  2. output

  3. request/reply

Input and output channels are nonblocking. The request/reply channel is blocking.

Redis channel specification

output channel format:

{name}:{ip} e.g. DialogflowService:192.168.0.181

request-reply channel format:

{name}:reqreply:{ip} e.g. DialogflowService:reqreply:192.168.0.181

Knowing the IP of the device and the service we expect is running, the request reply channel and output channel are known. Using the request reply channel we can request the component to start listening to input channels (using a ConnectRequest).

  1. Deterministic channel names simplify the structure of the framework significantly. Communication with the component is optional, as one can simply assume it is running on the remote device and listen to the output channel or send requests. There are some consequences
    1. Only one instance of a service can run on a device at once

Related content