Several types of remotes are supported:
For ssh remotes, the remotedaemon tries to maintain a connection to the remote git repository, and uses git-annex-shell notifychanges to detect when the remote git repository has changed, and fetches changes from it. For this to work, the git remote must have git-annex-shell(1) installed, with notifychanges support. The first version of git-annex-shell that supports it is 5.20140405.
For tor-annex remotes, the remotedaemon runs a tor hidden service, accepting connections from other nodes and serving up the contents of the repository. This is only done if you first run git annex enable-tor. Use git annex p2p to configure access to tor-annex remotes.
Note that when remote.<name>.annex-pull is set to false, the remotedaemon will avoid fetching changes from that remote.