Top |
The name of this transmitter is "shm".
This transmitter is meant to send and received the data from another process on the same system while minimizing the memory pressure associated with the use of sockets.
Two sockets are used to control the shared memory areas. One is used to send data and one to receive data. The receiver always connects to the sender. The sender socket must exist before the receiver connects to it.
Negotiating the paths of the sockets can happen in two ways. If the create-local-candidates is True then the transmitter will generate the path of the local candidate and us it as the ip filed in FsCandidate. The transmitter will expect the path of the applications sender socket to be in the "ip" field of the remote candidates FsCandidate as well.
Or alternatively, if create-local-candidates is false then
the sender socket can be created by giving the transmitter a candidate
with the path of the socket in the "ip" field of the FsCandidate. This
FsCandidate can be given to the FsStreamTransmitter in two ways, either
by setting the “preferred-local-candidates” property
or by calling the fs_stream_transmitter_force_remote_candidates()
function.
There can be only one single send socket per stream. When the send socket
is ready to be connected to, “new-local-candidate” signal
will be emitted.
To connect the receive side to the other application, one must create a
FsCandidate with the path of the sender's socket in the "username" field.
If the receiver can not connect to the sender,
the fs_stream_transmitter_force_remote_candidates()
call will fail.