[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