[services/federation] per-thread IOLoop