X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=api%2Fapi.go;fp=api%2Fapi.go;h=93f2b4210c920bfea91a4f6bbb1a2b7bdb3d7fc8;hb=9ea1f778fb1458ce6b2265941885eab0b34b33d7;hp=977b02ee1ba92e1b59997bdb06c34acaba756361;hpb=8d4ee12e94e634b38f1dc55c830f8e222822215f;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.