Simple multicast transceiver
A simple component for transmitting and receiving multicast packets.
Remember that multicast is an unreliable connection - packets may be lost, duplicated or reordered.
Send a file to, and receive data from multicast group address 220.127.116.11 port 1000:
Pipeline( RateControlledFileReader("myfile", rate=100000), Multicast_transceiver("0.0.0.0", 0, "18.104.22.168", 1000), ).activate() Pipeline( Multicast_transceiver("0.0.0.0", 1000, "22.214.171.124", 0) ConsoleEchoer() ).activate()
Pipeline( RateControlledFileReader("myfile", rate=100000), Multicast_transceiver("0.0.0.0", 1000, "126.96.36.199", 1000), ConsoleEchoer() ).activate()
The data emitted by Multicast_transciever (and displayed by ConsoleEchoer) is of the form (source_address, data).
Data sent to the component's "inbox" inbox is sent to the multicast group.
Data received from the multicast group is emitted as a tuple: (source_addr, data) where data is a string of the received data.
This component ignores anything received on its "control" inbox. It is not yet possible to ask it to shut down. It does not terminate.
Multicast groups do not 'shut down', so this component never emits any signals on its "signal" outbox.
Listens for packets in the given multicast group. Any data received is sent to the receiver's outbox. The logic here is likely to be not quite ideal. When complete though, this will be preferable over the sender and receiver components since it models what multicast really is rather than what people tend to think it is.
Multicast_transciever(local_addr, local_port, remote_addr, remote_port) -> component that send and receives data to/from a multicast group.
Creates a component that sends data received on its "inbox" inbox to the specified multicast group; and sends to its "outbox" outbox tuples of the form (src_addr, data) containing data received.
Methods defined here
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!
Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.
-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.