Peer Interface 수정
This commit is contained in:
@ -7,12 +7,14 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/gorilla/websocket"
|
||||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
"repositories.action2quare.com/ayo/gocommon/logger"
|
"repositories.action2quare.com/ayo/gocommon/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PeerInterface interface {
|
type PeerInterface interface {
|
||||||
ClientDisconnected(string)
|
ClientDisconnected(string)
|
||||||
|
ClientConnected(*websocket.Conn)
|
||||||
}
|
}
|
||||||
type peerApiFuncType[T PeerInterface] func(T, io.Reader) (any, error)
|
type peerApiFuncType[T PeerInterface] func(T, io.Reader) (any, error)
|
||||||
|
|
||||||
|
|||||||
@ -108,3 +108,12 @@ func TestPeerApiBroker(t *testing.T) {
|
|||||||
func1args, _ = json.Marshal([]any{float64(111.1), []int{99, 98}})
|
func1args, _ = json.Marshal([]any{float64(111.1), []int{99, 98}})
|
||||||
ws.Call(tp, "test.ApiFunc3", bytes.NewBuffer(func1args))
|
ws.Call(tp, "test.ApiFunc3", bytes.NewBuffer(func1args))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUnmarshal(t *testing.T) {
|
||||||
|
src := []byte(`{"123" :"str1", "456": "str2"}`)
|
||||||
|
var test map[int]string
|
||||||
|
err := json.Unmarshal(src, &test)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -45,6 +45,8 @@ func (ws *WebsocketPeerHandler[T]) upgrade_core(conn *websocket.Conn, accid prim
|
|||||||
peer := ws.CreatePeer(accid)
|
peer := ws.CreatePeer(accid)
|
||||||
var closeReason string
|
var closeReason string
|
||||||
|
|
||||||
|
peer.ClientConnected(conn)
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
peer.ClientDisconnected(closeReason)
|
peer.ClientDisconnected(closeReason)
|
||||||
}()
|
}()
|
||||||
|
|||||||
Reference in New Issue
Block a user