From 18d49ad63e20e1260602e74c6550cf334bb74285 Mon Sep 17 00:00:00 2001 From: Barpfotenbaer Date: Thu, 1 Oct 2020 10:55:28 +0200 Subject: [PATCH] =?UTF-8?q?GosmAdapter=20angelegt,=20aber=20ich=20bin=20vo?= =?UTF-8?q?n=20einer=20endg=C3=BCltigen=20L=C3=B6sung=20noch=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nhooyrioWebsocketAddons.go | 51 +++++++++++++++---- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go b/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go index d3ad45a..c393d20 100755 --- a/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go +++ b/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go @@ -18,26 +18,55 @@ type GosmContainer []GosmContainerSection type GosmBuffer []byte -type GosmContainerAdapter interface { - //revalue(...interface{}) (interface{}, error) - Convert() (GosmBuffer, error) +type GosmAdapter interface { + //Revalue(...interface{}) (interface{}, error) + Convert() (GosmAdapter, error) + //WsCommunicator(method string, ctx context.Context, conn *websocket.Conn) (GosmAdapter, error) } -type GosmBufferAdapter interface { - //revalue(...interface{}) (interface{}, error) - Convert() (GosmContainer, error) -} +func (r GosmContainer) Convert() (GosmAdapter, error) { + buffer, err := json.Marshal(r) + if err != nil { + panic(err) + } -func (r GosmContainer) Convert() (buffer GosmBuffer, err error) { - buffer, err = json.Marshal(r) - return + return GosmBuffer(buffer), err } -func (r GosmBuffer) Convert() (gosm GosmContainer, err error) { +func (r GosmBuffer) Convert() (i GosmAdapter, err error) { + var gosm GosmContainer err = json.Unmarshal(r, &gosm) + + i = gosm return } +/* +func (r GosmContainer) WsCommunicator(method string, ctx context.Context, conn *websocket.Conn) (GosmAdapter, error) { + switch method { + case "json": + WsjsonSend(ctx, conn) + case "bytes": + WsSend() + default: + panic("Wrong communicator method") + } + + return GosmBuffer{}, nil +} +func (r GosmBuffer) WsCommunicator(method string, ctx context.Context, conn *websocket.Conn) (GosmAdapter, error) { + switch method { + case "json": + WsjsonReceive() + case "bytes": + WsReceive() + default: + panic("Wrong communicator method") + } + return GosmContainer{}, nil +} +*/ + func WsjsonSend(ctx context.Context, conn *websocket.Conn, sendval interface{}) (err error, receiveval interface{}) { err = nil