//init initialize related modules func (sv *FrontServer) init() { config := sv.config //initialize packet processor a := assets.Config{} if err := a.Load(config.AssetsConfigPath); err != nil { log.Fatal(err) } packets.Init(&a) //initialize actor system if err := sv.initActors(); err != nil { log.Fatal(err) } //initialize models if err := models.Init( config.DBHost, config.DBCertPath, config.NodeIpv4Address, config.DataPath, config.InsertFixture); err != nil { log.Fatal(err) } sv.assets = &a //Initialize builtin actor setting yue.Register("/hot/:locale", yue.ActorConfig{ SpawnConfig: yue.SpawnConfig{ Factory: yue.InmemoryExecuterFactory{ Constructor: actors.NewHotActor, }, }, Size: 1, }, 60*time.Second) }
func (sv *FrontServer) initActors() error { config := sv.config //initialize actor system if err := yue.Init(&yue.Config{ DatabaseAddress: config.DBHost, CertPath: config.DBCertPath, HostAddress: config.NodeIpv4Address, }); err != nil { return err } yue.Register("/hello", yue.ActorConfig{ SpawnConfig: yue.SpawnConfig{ Factory: yue.InmemoryExecuterFactory{ Constructor: actors.NewHelloActor, }, }, Size: 1, }, "channer") go func() { var r string if err := yue.Call("/hello", "Hello", "actor-caller", &r); err != nil { log.Fatalf("err should not happen: %v %v", err) } else if r != "hello, actor-caller! from channer" { log.Fatalf("unexpected response: %v", r) } }() return nil }