2023-08-23 15:18:10 +09:00

33 lines
856 B
Go

package rpcclient
import (
"github.com/c4ei/YunSeokYeol/app/appmessage"
routerpkg "github.com/c4ei/YunSeokYeol/infrastructure/network/netadapter/router"
)
type rpcRouter struct {
router *routerpkg.Router
routes map[appmessage.MessageCommand]*routerpkg.Route
}
func buildRPCRouter() (*rpcRouter, error) {
router := routerpkg.NewRouter("RPC server")
routes := make(map[appmessage.MessageCommand]*routerpkg.Route, len(appmessage.RPCMessageCommandToString))
for messageType := range appmessage.RPCMessageCommandToString {
route, err := router.AddIncomingRoute("rpc client", []appmessage.MessageCommand{messageType})
if err != nil {
return nil, err
}
routes[messageType] = route
}
return &rpcRouter{
router: router,
routes: routes,
}, nil
}
func (r *rpcRouter) outgoingRoute() *routerpkg.Route {
return r.router.OutgoingRoute()
}