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(); }
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>(); }
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(); }