/// <exception cref="System.Exception"></exception>
        public virtual void Test()
        {
            BooleanByRef disconnected = new BooleanByRef();
            Lock4        Lock         = new Lock4();

            if (IsNetworking())
            {
                IDb4oClientServerFixture clientServerFixture = (IDb4oClientServerFixture)Fixture(
                    );
                IObjectServerEvents objectServerEvents = (IObjectServerEvents)clientServerFixture
                                                         .Server();
                objectServerEvents.ClientDisconnected += new System.EventHandler <Db4objects.Db4o.Events.StringEventArgs>
                                                             (new _IEventListener4_46(Lock, disconnected).OnEvent);
            }
            DeleteOnDeletingCallbackTestCase.RootItem root = ((DeleteOnDeletingCallbackTestCase.RootItem
                                                               )RetrieveOnlyInstance(typeof(DeleteOnDeletingCallbackTestCase.RootItem)));
            root.child = new DeleteOnDeletingCallbackTestCase.Item();
            Db().Store(root);
            Db().Delete(root);
            Reopen();
            if (IsNetworking())
            {
                Lock.Run(new _IClosure4_63(disconnected, Lock));
            }
            AssertClassIndexIsEmpty();
        }
Example #2
0
        /// <exception cref="System.Exception"></exception>
        protected override void Db4oSetupAfterStore()
        {
            _serverClosed = false;
            IObjectServerEvents events = Server();

            events.Closed += new System.EventHandler <ServerClosedEventArgs>(new _IEventListener4_103
                                                                                 (this).OnEvent);
        }
Example #3
0
        /// <exception cref="System.Exception"></exception>
        protected override void Db4oSetupAfterStore()
        {
            _serverClosed = false;
            IObjectServerEvents events = Server();

            events.Closed += new _IEventListener4_103
                                 (this).OnEvent;
        }
        public virtual void TestServerClosedEvent()
        {
            BooleanByRef        receivedEvent = new BooleanByRef(false);
            IObjectServerEvents events        = (IObjectServerEvents)server;

            events.Closed += new System.EventHandler <ServerClosedEventArgs>(new _IEventListener4_101
                                                                                 (receivedEvent).OnEvent);
            server.Close();
            Assert.IsTrue(receivedEvent.value);
        }
        public static PerformanceCounter CounterForNetworkingClientConnections(IObjectServer server)
        {
            PerformanceCounter clientConnections = NewDb4oCounter(PerformanceCounterSpec.NetClientConnections.Id, false);

            IObjectServerEvents serverEvents = (IObjectServerEvents)server;

            serverEvents.ClientConnected    += delegate { clientConnections.Increment(); };
            serverEvents.ClientDisconnected += delegate { clientConnections.Decrement(); };

            return(clientConnections);
        }
        private void CloseConnectionInNetworkingCS(IExtObjectContainer client)
        {
            BooleanByRef        eventWasRaised         = new BooleanByRef();
            Lock4               clientDisconnectedLock = new Lock4();
            IObjectServerEvents serverEvents           = (IObjectServerEvents)ClientServerFixture().Server
                                                             ();

            serverEvents.ClientDisconnected += new System.EventHandler <Db4objects.Db4o.Events.StringEventArgs>
                                                   (new _IEventListener4_85(clientDisconnectedLock, eventWasRaised).OnEvent);
            clientDisconnectedLock.Run(new _IClosure4_96(client, clientDisconnectedLock));
            Assert.IsTrue(eventWasRaised.value, "ClientDisconnected event was not raised.");
        }
        // closing is asynchronous, relying on completion is hard
        // That's why there is no test here.
        // ClientProcessesTestCase tests closing.
        public virtual void TestClientDisconnectedEvent()
        {
            ClientObjectContainer client    = (ClientObjectContainer)OpenClient();
            string              clientName  = client.UserName;
            BooleanByRef        eventRaised = new BooleanByRef();
            IObjectServerEvents events      = (IObjectServerEvents)server;
            Lock4 Lock = new Lock4();

            events.ClientDisconnected += new System.EventHandler <Db4objects.Db4o.Events.StringEventArgs>
                                             (new _IEventListener4_51(clientName, eventRaised, Lock).OnEvent);
            Lock.Run(new _IClosure4_58(client, eventRaised, Lock));
        }
        public virtual void TestClientConnectedEvent()
        {
            ArrayList           connections = new ArrayList();
            IObjectServerEvents events      = (IObjectServerEvents)server;

            events.ClientConnected += new System.EventHandler <ClientConnectionEventArgs>(new
                                                                                          _IEventListener4_83(connections).OnEvent);
            IObjectContainer client = OpenClient();

            try
            {
                Assert.AreEqual(1, connections.Count);
                Iterator4Assert.AreEqual(ServerMessageDispatchers(), Iterators.Iterator(connections
                                                                                        ));
            }
            finally
            {
                client.Close();
            }
        }