def start_resp_mux_sub!
@resp_sub_prefix = "_INBOX.#{@nuid.next}"
@resp_map = Hash.new { |h,k| h[k] = { }}
subscribe("#{@resp_sub_prefix}.*") do |msg, reply, subject|
token = subject.split('.').last
next unless @resp_map.key? token
f = @resp_map[token][:fiber]
expected = @resp_map[token][:expected]
if expected == 1
f.resume msg
@resp_map.delete(token)
next
end
if @resp_map[token][:msgs].size < expected
@resp_map[token][:msgs] << msg
msgs = @resp_map[token][:msgs]
if msgs.size >= expected
f.resume(msgs)
else
next
end
end
@resp_map.delete(token)
end
end