transmission: requires libevent