Exemple #1
0
    public void RegListener(IListen listener, Signal signal, bool onceTime = true)
    {
        Debug.Log("Signal Bus: New Reg - " + listener + " : " + signal.Id + " : " + signal.SelfName);
        ListenerData newData = new ListenerData(listener, signal, onceTime);

        listeners.Add(newData);
    }
        public static void ListenGlobalEvent <T>(this IListen listener)
        {
            var core = Core.Instance;

            if (core == null)
            {
#if DEBUG
                Debug.LogError("THERE IS NO CORE");
#endif
                return;
            }

            if (!typeof(T).IsValueType)
            {
#if DEBUG
                Debug.LogError($"MAY BE WRONG LISTENER {typeof(T)} in {listener}");
#endif
            }

            var manager = core.Get <ManagerEvents>();

            if (manager == null)
            {
#if DEBUG
                Debug.LogError("THERE IS NO MANAGER EVENT");
#endif
                return;
            }

            manager.Add <T>(listener);
        }
Exemple #3
0
        private static IDisposable Start(StartContext context, IListen listener)
        {
            IServiceProvider services = ServicesFactory.Create();
            var engine = services.GetService <IHostingEngine>();

            context.ServerFactory = new ServerFactoryAdapter(new CustomListenerHostFactory(listener));
            return(engine.Start(context));
        }
Exemple #4
0
        public static IDisposable Start <TStartup>(IListen listener)
        {
            var options = new StartOptions();

            options.AppStartup = typeof(TStartup).AssemblyQualifiedName;
            var context = new StartContext(options);

            return(Start(context, listener));
        }
Exemple #5
0
 /// <summary>
 /// 实例化一个新的 <see cref="WebSocketServer"/> 实例
 /// </summary>
 public WebSocketServer(string ip, int port)
 {
     //创建一个新的Socket连接监听器,并绑定监听IP和端口
     Listen = new Net.Pipeline.SocketServer(ip, port)
     {
         IsIPv6Model = true,             //设置当前的监听器是否支持IPV6
         Accepted    = Listen_Accepted   //连接监听通知方法
     };
 }
Exemple #6
0
        public static IDisposable Start(Action <IAppBuilder> startup, IListen listener)
        {
            var options = new StartOptions();

            options.AppStartup = startup.Method.ReflectedType.FullName;
            var context = new StartContext(options);

            context.Startup = startup;
            return(Start(context, listener));
        }
        private void Remove <T>(IListen listener)
        {
            List <IListen> cachedListeners;

            if (!_eventList.TryGetValue(typeof(T).GetHashCode(), out cachedListeners))
            {
                return;
            }

            cachedListeners.Remove(listener);
        }
 public void Subscribe(string message, IListen subscriber)
 {
     if (!subscribers.ContainsKey(message))
     {
         subscribers.Add(message, subscriber);
     }
     else
     {
         subscribers[message] = subscriber;
     }
 }
Exemple #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="localPort"></param>
 /// <param name="remIP"></param>
 /// <param name="remPort"></param>
 public SocketAgent(int localPort, string remIP, int remPort)
 {
     this._config = new SocketAgentConfig()
     {
         localPort = localPort,
         remIP     = remIP,
         remPort   = remPort,
     };
     _listen          = new SocketServer("0.0.0.0", localPort);
     _listen.Accepted = AcceptedCallback;
 }
Exemple #10
0
        public static void Unlisten <T>(this IListen listener)
        {
            var manager = Core.Instance.get <ManagerEvents>();

            if (manager == null)
            {
                Debug.LogError("THERE IS NO MANAGER EVENT");
                return;
            }

            manager.remove <T>(listener);
        }
Exemple #11
0
        public static IDisposable Start <TStartup>(IListen listener)
        {
            var options = new StartOptions();

            options.AppStartup = typeof(TStartup).AssemblyQualifiedName;
            var context = new StartContext(options);

            context.ServerFactory = new ServerFactoryAdapter(new CustomListenerHostFactory(listener));
            IServiceProvider services = ServicesFactory.Create();
            var engine = services.GetService <IHostingEngine>();

            return(engine.Start(context));
        }
Exemple #12
0
        public static IDisposable Start(Action <IAppBuilder> startup, IListen listener)
        {
            var options = new StartOptions();

            options.AppStartup = startup.Method.ReflectedType.FullName;
            var context = new StartContext(options);

            context.Startup       = startup;
            context.ServerFactory = new ServerFactoryAdapter(new CustomListenerHostFactory(listener));
            IServiceProvider services = ServicesFactory.Create();
            var engine = services.GetService <IHostingEngine>();

            return(engine.Start(context));
        }
Exemple #13
0
        public void Add <T>(IListen newListener)
        {
            var hash = HashCodeTypeTool.GetCachedHashCode <T>();

            if (_eventList.TryGetValue(hash, out var cachedListeners))
            {
                cachedListeners.Add(newListener);
                _eventList[hash] = cachedListeners;

                return;
            }

            _eventList.Add(hash, new List <IListen> {
                newListener
            });
        }
        private void Add <T>(IListen newListener)
        {
            List <IListen> cachedListeners;

            var hash = typeof(T).GetHashCode();

            if (_eventList.TryGetValue(hash, out cachedListeners))
            {
                cachedListeners.Add(newListener);
                _eventList[hash] = cachedListeners;

                return;
            }

            _eventList.Add(hash, new List <IListen> {
                newListener
            });
        }
Exemple #15
0
        public void Start(ListenType listenType, string listenString, ConnectionType connectionType, string connectionString)
        {
            conInfo = new ConnectionInfo {
                ConnectionType = connectionType, ConnectionString = connectionString
            };

            listen            = Listen.Listen.CreateListen(listenType);
            listen.Connected += Working;
            listen.Start(listenString);

            if (OnNewEvent != null)
            {
                if (OnNewEvent != null)
                {
                    OnNewEvent("Listening started: " + listenString);
                }
            }
        }
Exemple #16
0
        public void Remove <T>(IListen listener)
        {
            if (listener == null)
            {
                return;
            }

            if (!_eventList.TryGetValue(HashCodeTypeTool.GetCachedHashCode <T>(), out var cachedListeners))
            {
                return;
            }

            // if (_isSendingInProcess)
            // {
            //     _removeQueue.Enqueue(new RemoveQueueInstance(cachedListeners, listener));
            // }
            // else
            // {
            cachedListeners.Remove(listener);
            // }
        }
        public static void UnlistenGlobalEvent <T>(this IListen listener)
        {
            var core = Core.Instance;

            if (core == null)
            {
#if DEBUG
                Debug.LogError("THERE IS NO CORE");
#endif
                return;
            }

            var manager = core.Get <ManagerEvents>();

            if (manager == null)
            {
#if DEBUG
                Debug.LogError("THERE IS NO MANAGER EVENT");
#endif
                return;
            }

            manager.Remove <T>(listener);
        }
 public CustomListenerHost(IFeatureCollection featureCollection, IListen listener)
 {
     Features  = featureCollection ?? throw new ArgumentNullException(nameof(featureCollection));
     _listener = listener ?? throw new ArgumentNullException(nameof(listener));
 }
 public CustomListenerHost(IListen listener)
     : this(new FeatureCollection(), listener)
 {
 }
Exemple #20
0
 public void unlisten <T>(IListen listener)
 {
     Unlisten <T>(listener);
 }
Exemple #21
0
 public void listen <T>(IListen listener)
 {
     Listen <T>(listener);
 }
Exemple #22
0
 private void Unlisten <T>(IListen listener)
 {
     _managerEvents.remove <T>(listener);
 }
Exemple #23
0
 private void Listen <T>(IListen listener)
 {
     _managerEvents.add <T>(listener);
 }
 public void add <T>(IListen newListener)
 {
     Add <T>(newListener);
 }
Exemple #25
0
 private CustomListenerHost(IListen listener, Func <IDictionary <string, object>, Task> app, IAppBuilder builder)
 {
     _listener = listener;
     _app      = app;
     _logger   = builder.CreateLogger("HttpOS.Owin.CLH");
 }
Exemple #26
0
 public CustomListenerHostFactory(IListen listener)
 {
     _listener = listener;
 }
 public void remove <T>(IListen listener)
 {
     Remove <T>(listener);
 }
Exemple #28
0
 private CustomListenerHost(IListen listener, Func <IDictionary <string, object>, Task> app)
 {
     _listener = listener;
     _app      = app;
 }
Exemple #29
0
 public RemoveQueueInstance(List <IListen> listeners, IListen listener)
 {
     Listeners = listeners;
     Listener  = listener;
 }
Exemple #30
0
 public void Unsubscribe(IListen model)
 {
     this.subscribers.Remove(model);
 }