peer handler에서 receiverName 제거
This commit is contained in:
@ -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)
|
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])
|
methods := make(map[string]peerApiFuncType[T])
|
||||||
|
|
||||||
var archetype T
|
var archetype T
|
||||||
tp := reflect.TypeOf(archetype)
|
tp := reflect.TypeOf(archetype)
|
||||||
if len(receiverName) == 0 {
|
|
||||||
receiverName = tp.Elem().Name()
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := 0; i < tp.NumMethod(); i++ {
|
for i := 0; i < tp.NumMethod(); i++ {
|
||||||
method := tp.Method(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)
|
decoder := json.NewDecoder(r)
|
||||||
inargs := make([]any, len(intypes))
|
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])
|
methods := make(map[string]peerApiFuncType[T])
|
||||||
receiver := makeWebsocketPeerApiHandler[T](receiverName)
|
receiver := makeWebsocketPeerApiHandler[T]()
|
||||||
|
|
||||||
for k, v := range receiver.methods {
|
for k, v := range receiver.methods {
|
||||||
ab := strings.Split(k, ".")
|
ab := strings.Split(k, ".")
|
||||||
|
|||||||
Reference in New Issue
Block a user