On Wed, 2009-10-07 at 11:11 +0100, Lukas Zeller wrote:
> On Oct 1, 2009, at 15:26 , Patrick Ohly wrote:
> > Suppose a client wants to start a SyncML session while the server  
> > still
> > thinks that the client is still running an old session?
> 
> That's a very common case, yes.
> 
> > I believe this is something that has to be handled outside of the  
> > core engine, right?
> 
> Yes, the transport code should recognize it is a new session (no ? 
> sessionID=xxx in the URL in HTTP case) and call OpenSession() for it  
> instead of feeding the data into the existing session.

We do that, with one limitation (see below).

> And the external code should check if a session is lying around unused  
> longer than the timeout allows and end it if so. As the engine has  
> some mechanisms for that, I'll add some session keys to expose it for  
> the outside code, so it can implement timeout easily.

The problem is recognizing that the new session is from the same client.
Same IP address (for HTTP) doesn't mean same client (= Device ID), for
example in a multi-user systems.

We would have to start the new session up to the point when the client's
Device ID is known, then terminate the old session before starting the
new one. Would that be possible with the Synthesis engine?

> > [...] with interesting effects.
> 
> What effects? By design, the server should have no problem with this  
> situation, so I would expect only boring effects :-)

If I remember correctly, the SDK_textdb flushed relevant data only at
the end of the session.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.



_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to