void ReceiverImpl::init(qpid::client::AsyncSession s, AddressResolution& resolver) { sys::Mutex::ScopedLock l(lock); session = s; if (state == CANCELLED) return; if (state == UNRESOLVED) { source = resolver.resolveSource(session, address); assert(source.get()); state = STARTED; } source->subscribe(session, destination); startFlow(l); }