• Kenton Varda's avatar
    Implement server side of streaming. · c3cfe9e5
    Kenton Varda authored
    There are two things that every capability server must implement:
    
    * When a streaming method is delivered, it blocks subsequent calls on the same capability. Although not strictly needed to achieve flow control, this simplifies the implementation of streaming servers -- many would otherwise need to implement such serialization manually.
    * When a streaming method throws, all subsequent calls also throw the same exception. This is important because exceptions thrown by a streaming call might not actually be delivered to a client, since the client doesn't necessarily wait for the results before making the next call. Again, a streaming server could implement this manually, but almost all streaming servers will likely need it, and this makes things easier.
    c3cfe9e5
test-util.h 11.2 KB