Beispiel #1
0
        public string AdvertiseService(string service, string argumentType, ServiceCallHandler serviceCallHandler)
        {
            string id = generateId();

            serviceProviders.Add(id, new ServiceProvider(service, argumentType, serviceCallHandler));

            sendOperation(new ServiceAdvertisement(id, service, argumentType));
            return(id);
        }
Beispiel #2
0
        public string AdvertiseService <Tin, Tout>(string service, ServiceCallHandler <Tin, Tout> serviceCallHandler) where Tin : Message where Tout : Message
        {
            string id = service;

            if (ServiceProviders.ContainsKey(id))
            {
                UnadvertiseService(id);
            }

            ServiceAdvertisement serviceAdvertisement;

            ServiceProviders.Add(id, new ServiceProvider <Tin, Tout>(service, serviceCallHandler, out serviceAdvertisement));
            Send(serviceAdvertisement);
            return(id);
        }
Beispiel #3
0
 internal ServiceProvider(string service, string argumentType, ServiceCallHandler serviceCallHandler)
 {
     Service            = service;
     ArgumentType       = argumentType;
     ServiceCallHandler = serviceCallHandler;
 }