package service import ( "context" "reflect" cda "git.loafle.net/commons_go/di/annotation" cdr "git.loafle.net/commons_go/di/registry" ooccp "git.loafle.net/overflow/overflow_commons_go/config/probe" oocmci "git.loafle.net/overflow/overflow_commons_go/modules/commons/interfaces" discoveryM "git.loafle.net/overflow/overflow_commons_go/modules/discovery/model" oocmp "git.loafle.net/overflow/overflow_commons_go/modules/probe" ) func init() { cdr.RegisterType(reflect.TypeOf((*DiscoveryService)(nil))) } type DiscoveryService struct { cda.TypeAnnotation `annotation:"@overFlow:Service()"` oocmci.Service ContainerService *ContainerService `annotation:"@Inject()"` CentralService *CentralService `annotation:"@Inject()"` } func (ds *DiscoveryService) Start() error { return nil } func (ds *DiscoveryService) Stop(ctx context.Context) error { return nil } func (ds *DiscoveryService) DiscoverZone(requesterID string, dz *discoveryM.DiscoveryZone) error { return ds.ContainerService.Send(ooccp.ContainerDiscoveryName, "DiscoveryService.DiscoverZone", requesterID, dz) } func (ds *DiscoveryService) DiscoverHost(requesterID string, zone *discoveryM.Zone, dh *discoveryM.DiscoveryHost) error { return ds.ContainerService.Send(ooccp.ContainerDiscoveryName, "DiscoveryService.DiscoverHost", requesterID, zone, dh) } func (ds *DiscoveryService) DiscoverPort(requesterID string, host *discoveryM.Host, dp *discoveryM.DiscoveryPort) error { return ds.ContainerService.Send(ooccp.ContainerDiscoveryName, "DiscoveryService.DiscoverPort", requesterID, host, dp) } func (ds *DiscoveryService) DiscoverService(requesterID string, port *discoveryM.Port, dService *discoveryM.DiscoveryService) error { return ds.ContainerService.Send(ooccp.ContainerDiscoveryName, "DiscoveryService.DiscoverZone", requesterID, port, dService) } // use by discovery func (ds *DiscoveryService) DiscoveredZone(requesterID string, zone *discoveryM.Zone) error { return ds.CentralService.Send(oocmp.HTTPEntry_Probe, "DiscoveryService.discoveredZone", requesterID, zone) } func (ds *DiscoveryService) DiscoveredHost(requesterID string, host *discoveryM.Host) error { return ds.CentralService.Send(oocmp.HTTPEntry_Probe, "DiscoveryService.discoveredHost", requesterID, host) } func (ds *DiscoveryService) DiscoveredPort(requesterID string, port *discoveryM.Port) error { return ds.CentralService.Send(oocmp.HTTPEntry_Probe, "DiscoveryService.discoveredPort", requesterID, port) } func (ds *DiscoveryService) DiscoveredService(requesterID string, service *discoveryM.Service) error { return ds.CentralService.Send(oocmp.HTTPEntry_Probe, "DiscoveryService.discoveredService", requesterID, service) }