On 23 June 2011 11:23, Bert Freudenberg bert@freudenbergs.de wrote:
On 23.06.2011, at 11:22, Frank Shearar wrote:
On 23 June 2011 02:29, Chris Muller asqueaker@gmail.com wrote:
Just an FYI, the Magma test suite is pretty heavy on networking activity, but I didn't encounter any problems with this loaded.
So what needs to happen for us as a community to make a decision on whether to accept or reject this? I assume we will accept it, but maybe some of those more familiar with it can make some comments..? Who is our best networking expert who might want to review it and discuss?
- Chris
I'll defer to the real experts, like Andreas, as to the actual contents.
With my reviewer's cap on, my thoughts are:
- I'd like to see a test suite - is it possible that the Etoys people
wrote a suite for the below that we might appropriate?
There are a couple test methods: testIPv6, testPort80, timeTest, timeTestUDP. No full test suite.
- I'd like to see the basic idea behind the change - what's it do?
what's it for?
Squeak so far had a very simplified idea of network addresses - e.g. IPv4 only, each host has only a single interface, etc. The new primitives support more lookup options, and you can make not only IPv6 connections but any socket connections your OS supports.
"Old interface" NetNameResolver addressForName: 'google.com' ==> #[74 125 39 104]
"New interface" NetNameResolver addressesForName: 'google.com' ==> an OrderedCollection( 74.125.39.104(fx-in-f104.1e100.net),0(0)-inet4-stream-tcp 74.125.39.105(fx-in-f105.1e100.net),0(0)-inet4-stream-tcp 74.125.39.106(fx-in-f106.1e100.net),0(0)-inet4-stream-tcp 74.125.39.147(fx-in-f147.1e100.net),0(0)-inet4-stream-tcp 74.125.39.99(fx-in-f99.1e100.net),0(0)-inet4-stream-tcp 74.125.39.103(fx-in-f103.1e100.net),0(0)-inet4-stream-tcp)
And if I had an IPv6 connection it would give IPv6 addresses too:
NetNameResolver addressesForName: 'localhost' ==> an OrderedCollection( ::1(localhost),0(0)-inet6-stream-tcp fe80::1%lo0(localhost),0(0)-inet6-stream-tcp 127.0.0.1(localhost),0(0)-inet4-stream-tcp)
Ah, great. Thanks for the explanation/motivation, Bert!
- Networking's really important, and I'd really like to see a general
test suite for all things networky. I don't expect this particular change to implement one, but I do think it's something we need. I made a very brief start, in the form of MockSocketStream, long ago. It'd probably be better to use mocks, given that we'd be testing integration with the underlying platform (in the form of the wrapping layer made by SocketStream and friends).
frank
I agree networking is important. I would not hold off incorporating this until there is a test suite.
Oh, I agree entirely! That's why I don't expect this change to include a complete one; I'm just expressing a deep desire for such a suite.
It sounds like Chris' Magma tests use networking in anger, so we can be reasonably sure that the change won't cause regressions (which is my main concern).
- Bert -
On Sat, Dec 11, 2010 at 10:12 PM, commits@source.squeak.org wrote:
A new version of Network was added to project The Inbox: http://source.squeak.org/inbox/Network-ul.100.mcz
==================== Summary ====================
Name: Network-ul.100 Author: ul Time: 12 December 2010, 4:49:19.894 am UUID: 81823263-c3d6-f949-a8b0-6a107dcb5322 Ancestors: Network-ul.99
Network changes from the EToys repository.
<snip>
frank