X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=api%2Fapi.go;h=93f2b4210c920bfea91a4f6bbb1a2b7bdb3d7fc8;hb=5de7f6b85458615fa592a335d45c546397f32c9a;hp=977b02ee1ba92e1b59997bdb06c34acaba756361;hpb=df67791c6ffc96331f75aec7d3addfe2efca7739;p=govpp.git diff --git a/api/api.go b/api/api.go index 977b02e..93f2b42 100644 --- a/api/api.go +++ b/api/api.go @@ -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.