peer 코드 정리

This commit is contained in:
2023-12-23 16:17:26 +09:00
parent 02512a48cf
commit 5eee3f7c8b

View File

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