Design pattern for data exchange
I have a set of the virtual devices (D).
Devices can be cross-connected (assume, physical connect):

D1 -- D2

D2 -- D3

Each link possibly will have different latency.

Each device contains a set of virtual sub-devices (s) which can generate some data.
Sub-devices can be organized to logical connections.
Sub-devices will transmitt real byte-data.

I use C++, Qt.
I tried to use signal-slot mechanism, QSignalMapper, but I didn't find good solution.

Please, help me to build clear abstraction.
Can I use any design pattern?
Design pattern for data exchange
===

I have a set of the virtual devices (D).
Devices can be cross-connected (assume, physical connect):

D1 -- D2

D2 -- D3

Each link possibly will have different latency.

Each device contains a set of virtual sub-devices (s) which can generate some data.
Sub-devices can be organized to logical connections.
Sub-devices will transmitt real byte-data.

I use C++, Qt.
I tried to use signal-slot mechanism, QSignalMapper, but I didn't find good solution.

Please, help me to build clear abstraction.
Can I use any design pattern?