Closed kurtkilpela closed 3 years ago
"subscriber interface" / register to be notified when / etc. are the Announcements API.
While true, this does not take into account the Dolphin environment.
Actually, my understanding of Dolphin's support for Announcements was incorrect. It looks as though there is support for Announcements so I can just use Announcements assuming we move Announcements out of the Sparkle project and into a repo RSR can depend upon.
Pushed to development. Connection>>#waitUntilClose is now written in terms of an Announcement rather than storing a semaphore on the Connection.
Note, GemStone did not provide Object>>#initialize until a recent 3.7.0 build. GemStone's Announcer>>#initialize calls super initialize
. This results in a DNU. You'll either need to implement Object>>#initialize or upgrade to a recent 3.7.0 in order to avoid the DNU.
See 2fb26466c92fdb7b89c1b4551a297eec9f0a1989
Connection's interface is less than ideal for certain use cases. You can call #waitUntilClosed in order to detect a closure of the Connection w/o sending a message. This is less than ideal since it causes the calling thread to hang until the Connection is closed. It would be nice if you could asynchronously monitor the state of the Connection.
It would be nice to register an action w/ the Connection to be evaluated (in a new thread) when the Connection is shut down.