SCTP for Java

Alan Bateman Alan.Bateman at Sun.COM
Tue Aug 26 11:18:11 PDT 2008


David M. Lloyd wrote:
> :
> No, the concern is just that the SocketAddress hierarchy is just kind 
> of broken (the indicators are the fact that it's an empty abstract 
> class, and that anywhere it's used, it's immediately casted to a more 
> specific type).  You could change this, but it still seems to me like 
> a kneejerk "make it look like Unix" kind of thing to do.
>
> Doing this: UnixSocketChannel.open(String) or similar seems more 
> correct to me.  If you go the route of using 
> SocketChannel.open(SocketAddress), for example, now you've got 
> instanceof checks for each socket type.  Does this not seem like a 
> so-called "code smell" to you?
SocketAddress has existed for a long time (1.4). Jessie may be able to 
provide more background.

When I mentioned adding support for other protocols in SocketChannel 
then it involved new factory methods that selected the appropriate 
SocketChannel or ServerSocketChannel to return based on the protocol 
(and optionally the protocol family). This isn't too differ from the 
factory method you are suggesting except that there isn't a new channel 
type.

-Alan.



More information about the net-dev mailing list