peer handler에서 receiverName 제거

This commit is contained in:
2023-12-23 17:27:41 +09:00
parent 76923f8ecf
commit aed4e1a038

View File

@ -55,14 +55,11 @@ func (hc *websocketPeerHandler[T]) call(recv T, funcname string, r io.Reader) (v
return nil, fmt.Errorf("api is not found : %s", funcname)
}
func makeWebsocketPeerApiHandler[T PeerInterface](receiverName string) websocketPeerApiHandler[T] {
func makeWebsocketPeerApiHandler[T PeerInterface]() websocketPeerApiHandler[T] {
methods := make(map[string]peerApiFuncType[T])
var archetype T
tp := reflect.TypeOf(archetype)
if len(receiverName) == 0 {
receiverName = tp.Elem().Name()
}
for i := 0; i < tp.NumMethod(); i++ {
method := tp.Method(i)
@ -104,7 +101,7 @@ func makeWebsocketPeerApiHandler[T PeerInterface](receiverName string) websocket
}
}
methods[receiverName+"."+method.Name] = func(recv T, r io.Reader) (any, error) {
methods[method.Name] = func(recv T, r io.Reader) (any, error) {
decoder := json.NewDecoder(r)
inargs := make([]any, len(intypes))
@ -134,9 +131,9 @@ func makeWebsocketPeerApiHandler[T PeerInterface](receiverName string) websocket
}
}
func NewWebsocketPeerHandler[T PeerInterface](consumer session.Consumer, receiverName string, creator func(primitive.ObjectID) T) WebsocketPeerHandler {
func NewWebsocketPeerHandler[T PeerInterface](consumer session.Consumer, creator func(primitive.ObjectID) T) WebsocketPeerHandler {
methods := make(map[string]peerApiFuncType[T])
receiver := makeWebsocketPeerApiHandler[T](receiverName)
receiver := makeWebsocketPeerApiHandler[T]()
for k, v := range receiver.methods {
ab := strings.Split(k, ".")