func (sm *serviceMap) GetServiceByServiceKey(protocol, serviceKey string) *Service {
	sm.mutex.RLock()
	defer sm.mutex.RUnlock()
	if s, ok := sm.serviceMap[protocol]; ok {
		if srv, ok := s[serviceKey]; ok {
			return srv
		}
		return nil
	}
	return nil
}
// GetService gets a service definition by protocol and service key
GetService gets a service definition by protocol and service key
// GetService gets a service definition by protocol and service key
func (sm *serviceMap) GetServiceByServiceKey(protocol, serviceKey string) *Service {
	sm.mutex.RLock()
	defer sm.mutex.RUnlock()
	if s, ok := sm.serviceMap[protocol]; ok {
		if srv, ok := s[serviceKey]; ok {
			return srv
		}
		return nil
	}
	return nil
}
func ( sm * serviceMap ) GetServiceByServiceKey ( protocol , serviceKey string ) * Service { sm . mutex . RLock ( ) defer sm . mutex . RUnlock ( ) if s , ok := sm . serviceMap [ protocol ] ; ok { if srv , ok := s [ serviceKey ] ; ok { return srv } return nil } return nil }
GetService gets a service definition by protocol and service key
GetService gets a service definition by protocol and service key