From c09ee3241377aae2530a73d48c4e20641d76d0ee Mon Sep 17 00:00:00 2001 From: mhalaj1 Date: Thu, 26 Aug 2021 20:15:08 +0200 Subject: Refactoring and fixes * refactor creation of new channel * add missing closing of created streams * correct documentation regarding thread safety of stream Signed-off-by: mhalaj1 Change-Id: Ic601efff298fcbdecaafab83fa236253af69de21 --- api/api.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'api/api.go') diff --git a/api/api.go b/api/api.go index 3089f24..c4f069f 100644 --- a/api/api.go +++ b/api/api.go @@ -36,21 +36,16 @@ type Connection interface { // Stream provides low-level access for sending and receiving messages. // Users should handle correct type and ordering of messages. // +// It is not safe to call these methods on the same stream in different +// goroutines. +// // NOTE: This API is EXPERIMENTAL. type Stream interface { // SendMsg sends a message to the client. // It blocks until message is sent to the transport. - // - // It is safe to have a goroutine calling SendMsg and another goroutine - // calling RecvMsg on the same stream at the same time, but it is not safe - // to call SendMsg on the same stream in different goroutines. SendMsg(Message) error // RecvMsg blocks until a message is received or error occurs. - // - // It is safe to have a goroutine calling SendMsg and another goroutine - // calling RecvMsg on the same stream at the same time, but it is not safe - // to call SendMsg on the same stream in different goroutines. RecvMsg() (Message, error) // Close closes the stream. Calling SendMsg and RecvMsg will return error -- cgit 1.2.3-korg