public _IClosure4_58(ClientObjectContainer client, BooleanByRef eventRaised, Lock4
                      Lock)
 {
     this.client      = client;
     this.eventRaised = eventRaised;
     this.Lock        = Lock;
 }
Beispiel #2
0
        public ClientSlotCacheImpl(ClientObjectContainer clientObjectContainer)
        {
            var eventRegistry = EventRegistryFactory.ForObjectContainer(clientObjectContainer
                                                                        );

            eventRegistry.Activated += new _IEventListener4_29(this).OnEvent;
        }
        public ClientSlotCacheImpl(ClientObjectContainer clientObjectContainer)
        {
            IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(clientObjectContainer
                                                                                   );

            eventRegistry.Activated += new System.EventHandler <Db4objects.Db4o.Events.ObjectInfoEventArgs>
                                           (new _IEventListener4_29(this).OnEvent);
        }
Beispiel #4
0
        private ClientObjectContainer OpenClient(int port)
        {
            ClientObjectContainer client = (ClientObjectContainer)Db4oClientServer.OpenClient
                                               (Db4oClientServer.NewClientConfiguration(), "localhost", port, Username, Password
                                               );

            return(client);
        }
Beispiel #5
0
        public virtual void TestIsNotAlive()
        {
            IObjectServer         server = OpenServer();
            int                   port   = server.Ext().Port();
            ClientObjectContainer client = OpenClient(port);

            server.Close();
            Assert.IsFalse(client.IsAlive());
            client.Close();
        }
        // 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));
        }
        /// <exception cref="System.Exception"></exception>
        public virtual void TestIsAliveInMultiThread()
        {
            IBlockingQueue4 barrier = new BlockingQueue();

            client = (ClientObjectContainer)OpenNewSession();
            client.MessageListener(new _IMessageListener_23(this, barrier));
            var workThread = new Thread(new _IRunnable_38(), "Quering");

            workThread.SetDaemon(true);
            workThread.Start();
            barrier.Next();
            client.IsAlive();
        }
Beispiel #8
0
        public virtual void TestClientSendsSingleMessage()
        {
            if (!(Container() is ClientObjectContainer))
            {
                return;
            }
            ClientObjectContainer clientObjectContainer = (ClientObjectContainer)Container();
            ArrayList             messages = new ArrayList();

            ClientObjectContainer.IMessageListener listener = new _IMessageListener_65(messages
                                                                                       );
            Db().Store(new StoreAllTestCase.Item(0));
            // class creation
            clientObjectContainer.MessageListener(listener);
            StoreAll(clientObjectContainer);
            clientObjectContainer.Commit();
            Assert.AreEqual(1, messages.Count);
        }
Beispiel #9
0
        public virtual void TestDisconnect()
        {
            IExtObjectContainer oc1 = OpenNewSession();
            IExtObjectContainer oc2 = OpenNewSession();

            try
            {
                ClientObjectContainer client1 = (ClientObjectContainer)oc1;
                ClientObjectContainer client2 = (ClientObjectContainer)oc2;
                client1.Socket().Close();
                Assert.IsFalse(oc1.IsClosed());
                Assert.Expect(typeof(Db4oException), new _ICodeBlock_27(client1));
                // It's ok for client2 to get something.
                client2.QueryByExample(null);
            }
            finally
            {
                oc1.Close();
                oc2.Close();
                Assert.IsTrue(oc1.IsClosed());
                Assert.IsTrue(oc2.IsClosed());
            }
        }
Beispiel #10
0
        /// <exception cref="System.Exception"></exception>
        public virtual void _concDelete(IExtObjectContainer oc, int seq)
        {
            ClientObjectContainer client = (ClientObjectContainer)oc;

            try
            {
                if (seq % 2 == 0)
                {
                    // ok to get something
                    client.QueryByExample(null);
                }
                else
                {
                    client.Socket().Close();
                    Assert.IsFalse(oc.IsClosed());
                    Assert.Expect(typeof(Db4oException), new _ICodeBlock_27(client));
                }
            }
            finally
            {
                oc.Close();
                Assert.IsTrue(oc.IsClosed());
            }
        }
 public ClientEventRegistryImpl(ClientObjectContainer container)
 {
     _container = container;
 }
Beispiel #12
0
 public _ICodeBlock_27(ClientObjectContainer client1)
 {
     this.client1 = client1;
 }
Beispiel #13
0
 public ClientEventRegistryImpl(ClientObjectContainer container)
 {
     _container = container;
 }
Beispiel #14
0
 public _ICodeBlock_27(ClientObjectContainer client)
 {
     this.client = client;
 }