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.
- 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 can be used to control which
files to send. For example:
git annex multicast send . --not --copies 2
- 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
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
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
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
Joey Hess <firstname.lastname@example.org>