Dmitry Serebrennikov wrote:
So I guess those libraries being in Java is not a foregone conclusion either then? :) JNI is a mess though...
The J2SE libraries require certain bits and pieces that would be pretty pointless to reimplement in Java unless the target environment does not provide them, and in that case you *might* be better off just porting a different library from an environment to support it, rather than rewriting the whole TCP/IP stack in Java, for example. That depends on the environment you're targeting.
Ideally, you want to have both options, of course. But in practice, most people prefer to delegate at least some functionality to their target environment, if any possible, by (re)using the facilities provided by the OS or portability layers.
To give you an example: Kaffe has an InetAddress implementation that can use both the native os facilities, or delegate to the DNSJava libraries. Which choice is better depends on the target environment.
cheers, dalibor topic
