[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: client of ozone idea



On Tue, 30 Nov 1999, Tim Brown wrote:
> I need to know when the client has "lost" the connection due
> to network problems etc.  Ozone itself knows when this
> happens, so does my server.  The question is:  How do I get
> ozone to tell an object(the server object for example) that
> a user has dropped off.  
This is simply not possible. (yet?)

In ozone there is no such thing like a "connection between Impl and Proxy
objects". Not even the ozone server knows the number of out there for a given
Impl object. 

<BTW>
BTW: This is the biggest problem of a persistent garbage collector
implementation for ozone. We need this for ODMG! The only thing that the server
knows about proxies is that, if the network connection to a client is down, no
proxy can live inside this (deconnected) client. So the server has to wait
until all connections are down, then the GC can work because it knows _all_
proxies.

Of course it is possible to book-keep all proxies that go outside the server.
(currently proxies are always created inside the server) But it is impossible
to know the state of this proxy in the client VM from the server. Any ideas?
Anybody familiar with GC stuff?
</BTW>

Of course the server knows the number of network connections. Maybe other
applications need to know the state of the network connections too? Sounds like
a requirement of a - not yet started - notification system. More requirements,
ideas, suggestions on this?

Tim, controlling the state of the network connection from the client is simple.
Just call any method - if it throws an RuntimeException:IOException,
the connection is down.
Controlling connection from the Impl onject inside the server is not yet
possible. We need a notification system here.

> Of course the client will have a
> logoff()  capability.    Maybe there is a method I can run
> inside the Database() class to check on the connections?
There is no way to identify the proper connection...

> This is important because I need to maintain this state type
> information accurately.  The "who is connected" command in
> the game needs to be accurate for one.  But there are also
> more important uses.  One is a broadcast option.  The client
> must be able to broadcast messages to all connected players
> for example.
Again the need of a notification system. I have recently made a simple chat
applet using Enhydra and ozone. It was able to finish this in very short time
because of high level APIs of Enhydra and ozone. But the only way to implement
broadcast was polling. A good notification system would solve this kind of
problems.

Ideas, suggestions, help, vilunteers for the notification system?


Falko
-- 
______________________________________________________________________
Falko Braeutigam                         mailto:falko@softwarebuero.de
softwarebuero m&b (SMB)                    http://www.softwarebuero.de