yao/server/process.go
2022-07-14 22:19:14 +08:00

63 lines
1.3 KiB
Go

package server
import (
"github.com/yaoapp/gou"
"github.com/yaoapp/kun/exception"
)
func init() {
// gou.RegisterProcessHandler("xiang.server.Start", ProcessStart)
// gou.RegisterProcessHandler("xiang.server.Open", ProcessOpen)
}
// ProcessStart xiang.server.Start
func ProcessStart(process *gou.Process) interface{} {
process.ValidateArgNums(1)
name := process.ArgsString(0)
serv, has := gou.Sockets[name]
if !has {
exception.New("%s does not load", 400, name).Throw()
}
args := []interface{}{}
if process.NumOfArgs() > 1 {
args = process.Args[1:]
}
if serv.Mode != "server" {
exception.New("%s mode [%s] not server", 400, name, serv.Mode).Throw()
}
serv.Start(args...)
return nil
}
// ProcessOpen xiang.server.Open
// func ProcessOpen(process *gou.Process) interface{} {
// process.ValidateArgNums(1)
// name := process.ArgsString(0)
// serv, has := gou.Sockets[name]
// if !has {
// exception.New("%s does not load", 400, name).Throw()
// return nil
// }
// args := []interface{}{}
// if process.NumOfArgs() > 1 {
// args = process.Args[1:]
// }
// if serv.Mode != "client" {
// exception.New("%s mode [%s] should be client", 400, name, serv.Mode).Throw()
// return nil
// }
// err := serv.Open(args...)
// if err != nil {
// exception.New("%s: %s", 500, name, err.Error()).Throw()
// }
// return nil
// }