[nanomsg] backtrace headers implemented for survey/respondent protocol

  • From: Garrett D'Amore <garrett@xxxxxxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Tue, 10 Mar 2015 23:15:45 -0700

I’ve implemented the backtrace support to fix surveyor, as we’ve discussed here 
before.  It is now possible to use multiple surveyors with a respondent, using 
this code.  (And as a result of doing this work, I can see why Drew is 
concerned about the performance implications.  Frankly the code there suffers a 
bit from some extra allocations and copies that I think a smarter 
implementation could eliminate.)

The code for this is in the following PR, which I would appreciate folks 
reviewing:

https://github.com/nanomsg/nanomsg/pull/388 
<https://github.com/nanomsg/nanomsg/pull/388>

Hopefully if it gets a meaningful review, it can be mainlined.  (Note that at 
this point I think I have thumbs-up on the design at least, from Martin and any 
of the other stakeholders who’ve spoken up.)

I’m also happy to hear about any test results, successful or otherwise, using 
this code.

I’ve not yet implemented the compatible code for this in mangos, but I expect 
it won’t take long.  And, the backtrace support will have a much lower impact 
on mangos than it did on libnanomsg. :-)

Note that I did not keep support for the old protocol around, but I did take 
care to make sure we don’t accidentally try to make the old protocol and new 
speak together incorrectly, except for the websocket stuff which has a 
negotiation protocol so new that I strongly doubt anyone has put it into 
production yet, particularly with surveyor/respondent topologies.

Thanks!

  - Garrett

Other related posts: