Ejemplo n.º 1
0
        private static void Main()
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            PrintHeader();
            InitializeLogger();
            InitializeConfigs();
            ChickenContainer.Builder.Register(_ => new PluggablePacketFactory()).As <IPacketFactory>().SingleInstance();
            if (InitializePlugins())
            {
                return;
            }

            EnablePlugins(PluginEnableTime.PreContainerBuild);
            CommunicationIocInjector.Inject();
            ChickenContainer.Initialize();
            if (Server.RegisterServer())
            {
                Log.Info("REGISTER_FAIL_SERVER_API");
                return;
            }

            EnablePlugins(PluginEnableTime.PostContainerBuild);
            Server.RunServerAsync(1337).ConfigureAwait(false).GetAwaiter().GetResult();
            Server.UnregisterServer();
            LogManager.Shutdown();
        }
Ejemplo n.º 2
0
        public void Setup()
        {
            string mqttEndPoint = Environment.GetEnvironmentVariable("MQTT_BROKER_ENDPOINT") ?? "localhost";

            ChickenContainer.Builder.Register(s => new MqttClientConfigurationBuilder().ConnectTo(mqttEndPoint).WithName("test-relation-service-client"));
            ChickenContainer.Builder.Register(s => new MqttServerConfigurationBuilder().ConnectTo(mqttEndPoint).WithName("test-relation-service-server"));
            CommunicationIocInjector.Inject();
            ChickenContainer.Builder.RegisterType <RelationServiceClient>().AsImplementedInterfaces();

            ChickenContainer.Initialize();

            _relationService = ChickenContainer.Instance.Resolve <IRelationService>();
        }
Ejemplo n.º 3
0
        private static void Main()
        {
            PrintHeader();
            InitializeLogger();
            if (InitializePlugins())
            {
                return;
            }

            EnablePlugins(PluginEnableTime.PreContainerBuild);
            RegisterDependencies();
            CommunicationIocInjector.Inject();
            ChickenContainer.Initialize();
            EnablePlugins(PluginEnableTime.PostContainerBuild);
            var server    = ChickenContainer.Instance.Resolve <IIpcServer>();
            var container = ChickenContainer.Instance.Resolve <IIpcPacketHandlersContainer>();

            foreach (Type handlerType in typeof(RelationService).Assembly.GetTypesImplementingGenericClass(typeof(GenericIpcRequestHandler <,>), typeof(GenericIpcPacketHandler <>)))
            {
                try
                {
                    object handler = ChickenContainer.Instance.Resolve(handlerType);
                    if (!(handler is IIpcPacketHandler postProcessor))
                    {
                        Log.Warn($"{handler}");
                        continue;
                    }

                    Type type = handlerType.BaseType.GenericTypeArguments[0];

                    container.RegisterAsync(postProcessor, type);
                }
                catch (Exception e)
                {
                    Log.Error("[FAIL]", e);
                }
            }

            Console.ReadLine();
        }