[M3devel] libm3/socket?

Jay K jay.krell at cornell.edu
Tue Apr 20 02:01:44 CEST 2010


Do you think we should leave this one exactly asis, and anyone wanting IPv6 must move to a new abstraction?

 

 

Or should we provide some partial source (in)compatibility but keep everything in interface Socket.

 

 

I do believe, btw, that code should work with either IPv4 or v6, or even for that matter IPX. Just pass strings along and let layers below you figure it out.

I wouldn't want to introduce Socket6 that only works with IPv6.

 

 

The likely abstraction therefore is Address = TEXT. <<

 

 

I'm also not sure, but my rough reading of IPv6 stuff is that you don't call socket() until after you resolve the string -- getaddrinfo returns a list of families, so you can't just pass one to socket() and be done. That is, the current separation of Create/Bind/Connect/Accept is a bit off. It can be preserved, but Create wouldn't actually call socket(), it'd just store stream or dgram and put off the rest till Connect/Bind/Listen/Accept (probably just two of the four, when I really know what does what..)

 

 

 - Jay

 


From: hosking at cs.purdue.edu
Date: Mon, 19 Apr 2010 19:16:59 -0400
To: jay.krell at cornell.edu
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] libm3/socket?

An opportunity to build a better abstraction...  ;-)




Antony Hosking | Associate Professor | Computer Science | Purdue University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484



On 19 Apr 2010, at 17:29, Jay K wrote:

Yeah.. anyone one m3devel using it?
 
I guess we'll have to support it either way.
The m3-comm/tcp stuff seems to be heavily "based" on it -- copy/paste.
 
This stuff has ipv4 address in its public interface.
That really made me not want to deal with it.
Though the m3-comm stuff too.
Pickles are bound to get broken by any sort of IPv6 support, unless maybe we make new interfaces for it.
  The new interfaces will work with IPv4 or IPv6.

 - Jay

 


From: hosking at cs.purdue.edu
Date: Mon, 19 Apr 2010 14:36:59 -0400
To: jkrell at elego.de
CC: m3commit at elegosoft.com
Subject: Re: [M3commit] CVS Update: cm3

Who's nobody?


Just because there are no CM3 sources that use does not mean that there are no users out there.




Antony Hosking | Associate Professor | Computer Science | Purdue University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484



On 19 Apr 2010, at 19:39, Jay Krell wrote:

CVSROOT: /usr/cvs
Changes by: jkrell at birch. 10/04/19 19:39:54

Modified files:
cm3/m3-libs/libm3/src/os/Common/: m3makefile 
cm3/m3-libs/libm3/src/os/POSIX/: m3makefile 
cm3/m3-libs/libm3/src/os/WIN32/: m3makefile 
Removed files:
cm3/m3-libs/libm3/src/os/Common/: Socket.i3 Socket.m3 
cm3/m3-libs/libm3/src/os/POSIX/: SocketPosix.m3 SocketPosixC.c 
cm3/m3-libs/libm3/src/os/WIN32/: SocketWin32.m3 
                                SocketWin32.m3.sav 

Log message:
Nobody uses libm3's socket support.
So empty it out instead of fixing it.
Let's focus effort elsewhere, e.g. m3-comm/tcp.


 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100420/2f576861/attachment-0002.html>


More information about the M3devel mailing list