[Squeak-e] first successful CapTP messaging trace
rwithers12 at attbi.com
Mon Jun 9 23:42:57 CEST 2003
Mark, I found the answers to my questions, so no worries about them.
On Monday, June 9, 2003, at 01:28 AM, Robert Withers wrote:
> I am confused about when to send the GCExportOp, with the
> corresponding wireCount. ImportTable holds the far handlers to
> redirectors strongly, so they will never
actually, I learned that ImportTable holds a ProxyResolver, which in
turn holds a weak reference to the Proxy. When the Proxy goes away,
it's finalization will need to trigger the resolver to either send a
GCExportOp, if the Proxy is an Import, or drop the Question. It does
leave the ProxyResolver in the imports table at the same ID.
> finalize. Additionally, it looks as if the redirectors in the
> exports table and their far handlers in the imports table never get
> lost, so they must be getting reused somehow.
The processing of the GCExportOp will knock the entry out of the
exports table. It is the ProxyResolvers in the imports table which
never get removed once they are added. As new pass-by-proxy objects
get published in the exports table, that table reassigns freed IDs.
These reassigned IDs happen to correspond to the existing ProxyResolver
in the Imports table, which are reused. Since imports are used in
processing every remote message send, for the message send's
redirector, these import entries can get reused a lot. :)
More information about the Squeak-e