NOTE: The project is currently pretty stale, although that will probably not be true for too long.
General
I'm working on a client-side NNTP implementation for JOS. Once it's "done", my intention is, if considered appropriate, to implement the JavaMail classes required to create stores and transports that use NNTP.
Design
The "idea" behind the NNTP implementation is to treat every connection to a server as an "NNTP session". Each session will be represented by an org.jos.lib.nntp.NNTPSession object. The NNTPSession, with the exception of Exceptions and some minor classes, is pretty much all that the application programmers needs to know about.
The NNTPSession class internally uses org.jos.lib.nntp.NNTPStream to send and receive commands to/from the server.
NNTPSession and NNTPStream are both "blocking", in the sense that a call, for example NNTPSession.getArticle() will block until the entire article has been received (it is assumed that an application utilizing the NNTP protocol will be multithreaded in nature anyway). A callback mechanism will enable the classes to tell the outside world about it's progress. javadoc generated docs will be available later on.
Current version
I'm calling the first version 0.1.0-beta.
Work done so far
In its current state (as of 1998-09-11), it can connect to a server, retrieve a list of newsgroups, select groups, download articles, and a few other insignificant things.
Source code
Will be available on the source server as soon as I've finished the first version.
-- PeterSchuller (peter.schuller@infidyne.com)