Example #1
0
        public static void MarshalServiceInstance(IReactiveService target, IReactiveService source)
        {
            Debug.Assert(target.Runnable is AppDomainRunnable);
            Debug.Assert(source.Runnable is AppDomainRunnable);

            ((AppDomainRunnable)target.Runnable).Marshal(source.GetInstance <object>());
        }
        public void Register(IReactiveService service)
        {
            if (service == null)
            {
                throw new ArgumentNullException(nameof(service));
            }

            switch (service.ServiceType)
            {
            case ReactiveServiceType.QueryCoordinator:
                RegisterQueryCoordinator((IReactiveQueryCoordinator)service);
                break;

            case ReactiveServiceType.QueryEvaluator:
                RegisterQueryEvaluator((IReactiveQueryEvaluator)service);
                break;

            case ReactiveServiceType.MetadataService:
                RegisterMetadataService((IReactiveMetadataService)service);
                break;

            case ReactiveServiceType.MessagingService:
                RegisterMessagingService((IReactiveMessagingService)service);
                break;

            case ReactiveServiceType.StateStoreService:
                RegisterStateStoreService((IReactiveStateStoreService)service);
                break;

            case ReactiveServiceType.KeyValueStoreService:
                RegisterKeyValueStoreService((IKeyValueStoreService)service);
                break;

            default:
                RegisterOtherService(service);
                break;
            }
        }
 protected virtual void RegisterOtherService(IReactiveService service)
 {
 }