|
|
@ -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 |
|
|
|
|
|
|
|