[GOODIE][FIX] Client Server Framework (very basic)
Robert Withers
withers at vnet.net
Wed Mar 29 01:38:33 UTC 2000
Here is an update which fixes the service hang and thrash issue (bugs 1
and 2). It wasn't cleaning up the listener socket inside of the
TCPListener agent.
regards,
Rob
Robert Withers wrote:
>
> Hi everyone,
>
> Here is a base cut at a client server framework. I cut out chatter
> (distributed object framework) so I could focus on stabilizing the core
> subsystems. I have spent the last week refactoring the locators,
> resolvers, listeners, and connecters. I would absolutely love it if
> folks picked this up and started using it alpha so we can shake the
> problems out and get it to production quality. It should port to other
> dialects fairly easily as well. It's open source, of course. The rule
> seems to be that bugs get discovered in direct proportion to the number
> of eyes looking at the code. This is my pitch - I will diligently
> coordinate any assistance that folks can give to this effort, in the
> hopes that my passion is rewarded with a valient user base; please try
> and break it - that makes me happy. :-) (and you most certainly will!)
>
> MOTIVATION:
> -Distributed Objects between dialects
>
> FEATURES:
> -Uses the Camp Smalltalk BinaryInterop ObjectStream, which runs on 5-6
> dialects.
> -Provides for a reliable stream interface to sockets.
> -The endpoint hierarchy has a stackable protocol stream
> -Uses a connection manager to pump accepts
> -There is an InMemoryTransport, InMemoryListener, InMemoryConnecter, and
> ReliableInMemoryStream to implement an inmemory transport system.
> Locators should look like:
> 'comm://inmemory/4501/ObjectService' asLocator
> -(others to be sure...)
>
> BUGS:
> -Dangling Service/Manager connection
> -Can't always save the image
> -Not very robust examples or applications (well, there is one...hey,
> what time is it over there?)
> -Spotty UnitTests
> -Needs work in the exceptions arena. They are thrown but not as helpful
> as they could be.
> -UDP???
>
> INSTALL:
> Load the BinaryInteroperability changeset.
> Load the ClientServerFramework changeset.
>
> YOu should have SUnit to run the testCase.
>
> PROBLEM REPORTS:
> 1) running the Unit test twice will give you a reliable stream error the
> second time. Basically the Service doesn't shutdown cleanly. The third
> time it will work again so it seems either enough time has passed for
> shutdown or the second run through will cause the manager/service to
> close.
>
> 2) If you save the image after running the test, then when you reopen it
> the ObjectService is spasming. This may occur if you save after running
> the test once or thrice, .. and, thus, it is the same problem as above.
> I need to try and run it 2 times then save.
>
> 3) The binary interopt stuff is probably not the latest and greatest
> that Paul Baumann has. It's in ENVY so it is tricky getting it filed
> into Squeak.
>
> I am accepting questions, advice, criticisms and fixes, perhaps even
> complaints, but not until I've had my lunch...
>
> thanks and enjoy,
> Rob
>
> --
> --------------------------------------------------
> Smalltalking by choice. Isn't it nice to have one!
>
> ------------------------------------------------------------------------
> Name: csframework.1.tgz
> csframework.1.tgz Type: unspecified type (application/octet-stream)
> Encoding: base64
--
--------------------------------------------------
Smalltalking by choice. Isn't it nice to have one!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: csframework.2.tgz
Type: application/octet-stream
Size: 65932 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000328/cddf2a20/csframework.2.obj
More information about the Squeak-dev
mailing list
|