« Return to Thread: Continuation mechanism in RIFE?

Re: Continuation mechanism in RIFE?

by Geert Bevin :: Rate this Message:

Reply to Author | View in Thread

Hi Liu,

> Hi Geert, thanx for the quick reply.
>
> I just read the brakes paper that was linked from your post, kinda
> like one that I've read,
> http://homepage.mac.com/t.sekiguchi/paper/ehbook01.pdf, though it uses
> exception instead of normal return :)

RIFE uses exceptions too.

> I looked into the EngineClassLoader class which i believe is the main
> class loader?

Indeed.

> It seems to me that only classes Element and
> ElementAware are modified to handle continuation. While this looks
> great for performance reasons it puzzles me a lot. What happens if
> there're non-element classes on the stack? How can the continuation
> captured correctly and restored later when these classes are not
> "coorperating"? Or does the operation of rife somehow guarantees that
> only Elements will be on the stack? (sorry I'm not very familiar with

RIFE currently only supports continuations in the entrance methods of  
elements. We wrote experimental code to restore the method call  
stack, but that has been erased a while ago to first focus on making  
the current case work perfectly.

RIFE will also only support byte-code instrumentation in elements.  
This makes sense as a web application framework since elements are  
the building blocks and will create the business logic of the entire  
application. RIFE also knows the singular entry point, which is very  
convenient to restore the call and variable stack. There is nothing  
that would prevent you from applying the same process to all your  
classes, but it will create a huge overhead.

> the workings of rife)
>
> btw my name is "Liu" not "Lui" :P

Actually, I meant to write Liu, but Lui came out ... sorry about that.

> Thanks again Geert for the great work of Rife :)
>
> Liu Chang
>
>> --
>> Geert Bevin                       Uwyn bvba
>> "Use what you need"               Avenue de Scailmont 34
>> http://www.uwyn.com               7170 Manage, Belgium
>> gbevin[remove] at uwyn dot com    Tel +32 64 84 80 03
>>
>> PGP Fingerprint : 4E21 6399 CD9E A384 6619  719A C8F4 D40D 309F D6A9
>> Public PGP key  : available at servers pgp.mit.edu, wwwkeys.pgp.net
>>
>>
>> _______________________________________________
>> Rife-devel mailing list
>> Rife-devel@...
>> http://lists.uwyn.com/mailman/listinfo/rife-devel
>>
> _______________________________________________
> Rife-devel mailing list
> Rife-devel@...
> http://lists.uwyn.com/mailman/listinfo/rife-devel
>

--
Geert Bevin                       Uwyn bvba
"Use what you need"               Avenue de Scailmont 34
http://www.uwyn.com               7170 Manage, Belgium
gbevin[remove] at uwyn dot com    Tel +32 64 84 80 03

PGP Fingerprint : 4E21 6399 CD9E A384 6619  719A C8F4 D40D 309F D6A9
Public PGP key  : available at servers pgp.mit.edu, wwwkeys.pgp.net



 « Return to Thread: Continuation mechanism in RIFE?

LightInTheBox - Buy quality products at wholesale price
 
 
 
Google
rifers.org web