Thank you David.<div><br></div><div>Actually, that was exactly what we ended up doing,&nbsp;</div><div><br></div><div>As far as I understood, that even though Librabbitmq is event-driven, it doesn't mean it's non-blocking, right?</div><div>For instance,&nbsp;wait_frame_inner is blocking until we recv() is responding with something useful.&nbsp;</div><div><br></div><div>Are there ways to work it around? We actually need some non-blocking approach, since we want to be able to send heartbeats and do many other things in same thread, while we have no data available.&nbsp;</div><div><br></div><div>Actually, just changing that function would change many things. As far as I can tell, Send() calls are currently blocking as well, even though they're unlikely to block cycle for long time.</div><div><br></div><div>Should we just use several threads and create a connection per thread, or there are better approaches that were built into the lib?&nbsp;</div><div><br></div><div>Thanks for the help, again.</div><div>It seems that something is causing basic_get to eat out memory when ran in cycle. If i manage to reproduce it without app itself and have more info, i'll file a bug-report. For now it may very well be my mistake(&nbsp;&nbsp;</div>