git-annex-multicast - multicast file distribution
git annex multicast [options]
Multicast allows files to be broadcast to multiple receivers,
typically on a single local network.
The uftp program is used for multicast.
<http://uftp-multicast.sourceforge.net/>
- --gen-address
- Generates a multicast encryption key and stores a corresponding multicast
address to the git-annex branch.
- --send [file]
- Sends the specified files to any receivers whose multicast addresses are
stored in the git-annex branch.
- When no files are specified, all annexed files in the current directory
and subdirectories are sent.
- The git-annex-matching-options(1) can be used to control which files to
send. For example:
-
git annex multicast send . --not --copies 2
- --receive
- Receives files from senders whose multicast addresses are stored in the
git-annex brach.
- As each file is received, its filename is displayed. This is the filename
that the sender used; the local working tree may use a different name for
the file, or not contain a link to the file.
- This command continues running, until it is interrupted by you pressing
ctrl-c.
- Note that the configured annex.diskreserve is not honored by this command,
because uftpd receives the actual files, and can receive any size
file.
- --uftp-opt=option
-Uoption
- Pass an option on to the uftp/uftpd command. May be specified multiple
times.
- For example, to broadcast at 50 Mbps:
-
git annex multicast send -U-R -U50000
- Also the
git-annex-common-options(1) can be used.
Suppose a teacher wants to multicast files to students in a
classroom.
This assumes that the teacher and students have cloned a git-annex
repository, and both can push changes to its git-annex branch, or otherwise
push changes to each-other.
First, the teacher runs git annex multicast --gen-address; git
annex sync
Next, students each run git annex multicast --gen-address; git
annex sync
Once all the students have generated addresses, the teacher runs
git annex sync once more. (Now the students all have received the
teacher's address, and the teacher has received all the student's
addresses.)
Next students each run git annex multicast --receive
Finally, once the students are all listening (ahem), teacher runs
git annex multicast --send
Joey Hess <id@joeyh.name>