Closed fatelei closed 1 year ago
To be honest, I am not really sure what you are asking here. The request and replies are matched by the context field in the message itself. Each Channel or Stream has unique context number which is used in the request and VPP replies using the same context, that is how GoVPP client matches request/reply even if they are processed out of order.
i using govpp, i found this error missing binary API reply with sequence number
. Because of vpp is single thread server, it handle the request one by one, so i think the vpp will echo the request number in order. I want to known what kind of situation will lead this error.
close it, i will check vpp is single thread or multi thread. i
Could you share the code you are using to send/receive requests?
This error message occurs when you receive a reply that has higher sequence number than expected. The sequence number is actually part of the context field mentioned above and each Channel
contains it's own sequence number which is increased every time you send request. The RequestContext
you get from SendRequest
will be used to check the sequence number in the reply you get to verify it matches. However if you use the Channel
in multiple goroutines or if you send multiple requests simultaneously before receiving reply from the previous request you will run into this error.
vpp is a single thread server, so it handles request one by one, and response it one by one. i don't know how the disorder will be happen.