Introduction
This section provides a description of the prototype implementation for the SCTP API.
Repository
One of the goals of this project is to provide a prototype implementation. This prototype will be developed outside of the OpenJDK JDK7 project and will be integrated into that project at a later stage. To achieve this, an SCTP specific forest of mecurial repositories has been setup to hold the source code. These repositories will be sync'ed periodically with the JDK7 Tools & Libraries repository to keep it up to date with the latest JDK7 source. Notifications of these changesets will be sent to sctp-dev .
Supported Platforms
Implementing the SCTP protocol itself is outside of the scope of this project, instead we plan to leverage the platform support. Therefore, what platforms have native SCTP support has a direct impact on the targeted platforms for the Java prototype. The current plan is to provide a prototype implementation on Solaris and Linux only. Implementations on other platforms are welcome.
Solaris provides support for SCTP since Solaris 10. No additional libraries are required. On Linux we leverage the LKSCTP stack. Recent 2.6 kernel versions are preferred and an additional library is required to provide user level access to additional SCTP specific functionality that is required by the prototype.
Source
The source code for the SCTP API and prototype implementation can be found in the mercurial repositories at https://hg.openjdk.org/sctp/sctp. The SCTP specific source can be found in the jdk repository under:
- src/share/classes/com/sun/nio/sctp
The SCTP API itself
- src/share/classes/sun/nio/ch/Sctp*
Platform independent implementation source. All SCTP source is in files prefixed with "Sctp"
- src/solaris/classes/sun/nio/ch/Sctp*
src/solaris/native/sun/nio/ch/Sctp*Platform dependent implementation source (Solaris & Linux). All SCTP source is in files prefixed with "Sctp"
- src/windows/classes/sun/nio/ch/Sctp*
Platform dependent implementation source (Windows). Unimplemented stubs. All SCTP source is in files prefixed with "Sctp"
- test/com/sun/nio/sctp
Tests for various aspects of the API and implementation. Needs much more!
- make/com/sun/nio/sctp
Make files for building the SCTP implementation. A complete build of the jdk repository will call these make files. Also, they can be used to rebuild SCTP, but only after a complete jdk build has successfully completed.
- make/netbeans/sctp
A netbeans project for developing the SCTP implementation. Useful for editing and viewing only the java SCTP source.