rsync: framework