|
From: <mvo...@ce...> - 2002-12-17 10:46:27
|
> Marek Vondrak wrote: > > - Remote<> je pointer na _interface_, tudiz by si dle me mela kazda > > funkce mit moznost urcit, jak se bude vyvolavat (synchronne, > > asynchronne, s replikacnim trikem); rozhodne bych tam nechtel mit 2 > > (sync ano/ne) x 2 (replikacni trik ano/ne) typu ruznych RMI pointeru > > > Huh, co je to replikacni trik? Zda zavolani metody na tom objektu muze iniciovat jeho replikaci a pristi vyvolani metody na nem uz muze jit lokalne. Viz stare kecy ohledne replikace. > > > 2) ObjectManager & GC: > > - porad tvrdim, ze dorucene objekty zustavaji rootem v dobe doruceni; > > Boovie, pust si test/philosophers, nastav si breakpoint do > > GC::ref_count_collect(); zjistis, ze kdyz se pousti posledni reference, > > objekt je porad root a tudiz hnije do dalsiho behu GC (jinymi slovy u > > tech filozofu se uplne muze vypnout instant refcounting, protoze se > > nikdy nedostatne ke slovu) > > > Todle jsme jiz vyresili soukrome, samozrejme se ukazalo ze tohle vyse > neni pravda :) a objekty hniji z jineho duvodu - object manager > pri volani delivered_to() nevytvari object pointer na doruceny > objekt (ma jen Object *), tudiz se zadny ref counting nezapoji. > To se musi do budoucna ale zmenit. Objekt musi byt minimalne pinned. Asi bych to videl tak, ze zustane rootem do doby, nez skoncit vyvolani te funkce. -- Markoid |