예제 #1
0
        public void RemoveListener(int eventId, IEventListener listener)
        {
            m_cacheTempContainer     = null;
            m_cacheListenerContainer = null;
            m_cacheRemoveContainer.Clear();
            if (m_eventListenerContainers.TryGetValue(eventId, out m_cacheTempContainer))
            {
                for (int i = 0, Count = m_cacheTempContainer.Count; i < Count; i++)
                {
                    m_cacheListenerContainer = m_cacheTempContainer[i];

                    if (m_cacheListenerContainer.eventListener == listener)
                    {
                        m_cacheRemoveContainer.Add(m_cacheListenerContainer);
                    }
                }

                for (int i = 0, Count = m_cacheRemoveContainer.Count; i < Count; i++)
                {
                    m_cacheTempContainer.Remove(m_cacheRemoveContainer[i]);
                }

                if (m_eventListenerArrays.ContainsKey(eventId))
                {
                    m_eventListenerArrays[eventId] = m_cacheTempContainer.ToArray();
                }
                else
                {
                    m_eventListenerArrays.Add(eventId, m_cacheTempContainer.ToArray());
                }
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: Voenkaff/Test
 public static void Main()
 {
     ListenerContainer.Run();
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new LoginForm());
 }
예제 #3
0
        public CuratorFrameworkImpl(CuratorFrameworkFactory.Builder builder)
        {
            IZookeeperFactory localZookeeperFactory = makeZookeeperFactory(builder.GetZookeeperFactory());
            this.client = new CuratorZookeeperClient(localZookeeperFactory,
                                                        builder.GetEnsembleProvider(),
                                                        builder.GetSessionTimeoutMs(),
                                                        builder.GetConnectionTimeoutMs(),
                                                        new WatchedWatcher(this),
                                                        builder.GetRetryPolicy(),
                                                        builder.CanBeReadOnly());

            listeners = new ListenerContainer<ICuratorListener>();
            unhandledErrorListeners = new ListenerContainer<IUnhandledErrorListener>();
            backgroundOperations = new DelayQueue<OperationAndData<object>>();
            @namespace = new NamespaceImpl(this, builder.GetNamespace());
            maxCloseWaitMs = builder.GetMaxCloseWaitMs();
            connectionStateManager = new ConnectionStateManager(this, builder.GetEventQueueSize());
            compressionProvider = builder.GetCompressionProvider();
            aclProvider = builder.GetAclProvider();
            state = new AtomicReference<CuratorFrameworkState>(CuratorFrameworkState.LATENT);
            useContainerParentsIfAvailable = builder.UseContainerParentsIfAvailable();

            byte[] builderDefaultData = builder.GetDefaultData();
            byte[] destDefaults = new byte[builderDefaultData.Length];
            Array.Copy(builderDefaultData, destDefaults, builderDefaultData.Length);
            defaultData = (builderDefaultData != null)
                            ?  destDefaults
                            : new byte[0];
            authInfos = buildAuths(builder);

            failedDeleteManager = new FailedDeleteManager(this);
            namespaceWatcherMap = new NamespaceWatcherMap(this);
            namespaceFacadeCache = new NamespaceFacadeCache(this);
        }
예제 #4
0
        public CuratorFrameworkImpl(CuratorFrameworkFactory.Builder builder)
        {
            IZookeeperFactory localZookeeperFactory = makeZookeeperFactory(builder.GetZookeeperFactory());

            this.client = new CuratorZookeeperClient(localZookeeperFactory,
                                                     builder.GetEnsembleProvider(),
                                                     builder.GetSessionTimeoutMs(),
                                                     builder.GetConnectionTimeoutMs(),
                                                     new WatchedWatcher(this),
                                                     builder.GetRetryPolicy(),
                                                     builder.CanBeReadOnly());

            listeners = new ListenerContainer <ICuratorListener>();
            unhandledErrorListeners = new ListenerContainer <IUnhandledErrorListener>();
            backgroundOperations    = new DelayQueue <OperationAndData <object> >();
            @namespace             = new NamespaceImpl(this, builder.GetNamespace());
            maxCloseWaitMs         = builder.GetMaxCloseWaitMs();
            connectionStateManager = new ConnectionStateManager(this, builder.GetEventQueueSize());
            compressionProvider    = builder.GetCompressionProvider();
            aclProvider            = builder.GetAclProvider();
            state = new AtomicReference <CuratorFrameworkState>(CuratorFrameworkState.LATENT);
            useContainerParentsIfAvailable = builder.UseContainerParentsIfAvailable();

            byte[] builderDefaultData = builder.GetDefaultData();
            byte[] destDefaults       = new byte[builderDefaultData.Length];
            Array.Copy(builderDefaultData, destDefaults, builderDefaultData.Length);
            defaultData = (builderDefaultData != null)
                            ?  destDefaults
                            : new byte[0];
            authInfos = buildAuths(builder);

            failedDeleteManager  = new FailedDeleteManager(this);
            namespaceWatcherMap  = new NamespaceWatcherMap(this);
            namespaceFacadeCache = new NamespaceFacadeCache(this);
        }
예제 #5
0
        private void SaveConfig()
        {
            var config = ConfigContainer.GetConfig <ServerConfig>();

            config.ResultFolder = ResultFolderTextBox.Text;
            config.TestFolder   = TestFolderTextBox.Text;

            config.ServerIp   = IpTextBox.Text;
            config.ServerPort = int.Parse(PortLabelTextBox.Text);

            ConfigContainer.SaveConfiguration();
            ListenerContainer.Restart();
        }
예제 #6
0
 protected CuratorFrameworkImpl(CuratorFrameworkImpl parent)
 {
     client    = parent.client;
     listeners = parent.listeners;
     unhandledErrorListeners = parent.unhandledErrorListeners;
     maxCloseWaitMs          = parent.maxCloseWaitMs;
     backgroundOperations    = parent.backgroundOperations;
     connectionStateManager  = parent.connectionStateManager;
     defaultData             = parent.defaultData;
     failedDeleteManager     = parent.failedDeleteManager;
     compressionProvider     = parent.compressionProvider;
     aclProvider             = parent.aclProvider;
     namespaceFacadeCache    = parent.namespaceFacadeCache;
     @namespace = new NamespaceImpl(this, null);
     state      = parent.state;
     authInfos  = parent.authInfos;
     _useContainerParentsIfAvailable = parent._useContainerParentsIfAvailable;
 }
예제 #7
0
 protected CuratorFrameworkImpl(CuratorFrameworkImpl parent)
 {
     client = parent.client;
     listeners = parent.listeners;
     unhandledErrorListeners = parent.unhandledErrorListeners;
     maxCloseWaitMs = parent.maxCloseWaitMs;
     backgroundOperations = parent.backgroundOperations;
     connectionStateManager = parent.connectionStateManager;
     defaultData = parent.defaultData;
     failedDeleteManager = parent.failedDeleteManager;
     compressionProvider = parent.compressionProvider;
     aclProvider = parent.aclProvider;
     namespaceFacadeCache = parent.namespaceFacadeCache;
     @namespace = new NamespaceImpl(this, null);
     state = parent.state;
     authInfos = parent.authInfos;
     _useContainerParentsIfAvailable = parent._useContainerParentsIfAvailable;
 }