package service import ( "reflect" "sync" cda "git.loafle.net/commons_go/di/annotation" cdr "git.loafle.net/commons_go/di/registry" cr "git.loafle.net/commons_go/rpc" ) func init() { cdr.RegisterType(reflect.TypeOf((*ProbeService)(nil))) } type ProbeService struct { cda.TypeAnnotation `annotation:"@overFlow:Service()"` RPCServlet cr.Servlet sendMtx sync.RWMutex } func (ps *ProbeService) Send(method string, params ...interface{}) error { ps.sendMtx.RLock() defer ps.sendMtx.RUnlock() return ps.RPCServlet.Send(method, params...) }