diff options
author | Vladimir Lavor <vlavor@cisco.com> | 2020-10-12 14:21:05 +0200 |
---|---|---|
committer | Ondrej Fabry <ofabry@cisco.com> | 2020-10-15 08:30:21 +0000 |
commit | 9ea1f778fb1458ce6b2265941885eab0b34b33d7 (patch) | |
tree | c1e8c18f9a626ced15c6ea6cf72c053931f6170a /api | |
parent | 8d4ee12e94e634b38f1dc55c830f8e222822215f (diff) |
Stream API options
* Stream API uses the same default values as the Channel API
* request size, reply size and reply timeout settable using
functional options
* Added stream client example to show the stream API usage
Change-Id: Id599134a7f520fc19f7d770ed5e3de74a7936829
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Diffstat (limited to 'api')
-rw-r--r-- | api/api.go | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -25,7 +25,7 @@ import ( type Connection interface { // NewStream creates a new stream for sending and receiving messages. // Context can be used to close the stream using cancel or timeout. - NewStream(ctx context.Context) (Stream, error) + NewStream(ctx context.Context, options ...StreamOption) (Stream, error) // Invoke can be used for a simple request-reply RPC. // It creates stream and calls SendMsg with req and RecvMsg with reply. @@ -57,6 +57,12 @@ type Stream interface { Close() error } +// StreamOption allows customizing a Stream. Available options are: +// - WithRequestSize +// - WithReplySize +// - WithReplyTimeout +type StreamOption func(Stream) + // ChannelProvider provides the communication channel with govpp core. type ChannelProvider interface { // NewAPIChannel returns a new channel for communication with VPP via govpp core. |