diff --git a/wshandler/wshandler_peer.go b/wshandler/wshandler_peer.go index 3c944c5..86d1b1f 100644 --- a/wshandler/wshandler_peer.go +++ b/wshandler/wshandler_peer.go @@ -25,7 +25,7 @@ type WebsocketPeerHandler interface { type websocketPeerHandler[T PeerInterface] struct { methods map[string]peerApiFuncType[T] - CreatePeer func(primitive.ObjectID) T + createPeer func(primitive.ObjectID) T sessionConsumer session.Consumer } @@ -135,7 +135,7 @@ func makeWebsocketPeerApiHandler[T PeerInterface](receiverName string) websocket } } -func NewWebsocketPeerHandler[T PeerInterface](consumer session.Consumer, receiverName string) WebsocketPeerHandler { +func NewWebsocketPeerHandler[T PeerInterface](consumer session.Consumer, receiverName string, creator func(primitive.ObjectID) T) WebsocketPeerHandler { methods := make(map[string]peerApiFuncType[T]) receiver := makeWebsocketPeerApiHandler[T](receiverName) @@ -148,6 +148,7 @@ func NewWebsocketPeerHandler[T PeerInterface](consumer session.Consumer, receive return &websocketPeerHandler[T]{ sessionConsumer: consumer, methods: methods, + createPeer: creator, } } @@ -164,7 +165,7 @@ func (ws *websocketPeerHandler[T]) RegisterHandlers(serveMux *http.ServeMux, pre func (ws *websocketPeerHandler[T]) upgrade_core(conn *websocket.Conn, accid primitive.ObjectID, nonce uint32) { go func(c *websocket.Conn, accid primitive.ObjectID) { - peer := ws.CreatePeer(accid) + peer := ws.createPeer(accid) var closeReason string peer.ClientConnected(conn)