Skip to content
The NAF Repository (Network Application Framework)
Java HTML Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


NAF (Network Application Framework) is an open-source Java NIO framework that is designed to stick to the basics of switching I/O and be easy to use.

It supports and provides:
- TCP and UDP based clients and servers.
- Non-blocking reads: Instruct it to to call your code back after either
  receiving a specified marker byte (eg. a Newline, for Internet-style
  text-oriented protocols) or a specified number of bytes.
- Non-blocking writes: NAF will complete the write for you without further
  intervention, if it would have blocked.
- Millisecond Timers: You can have any number of timers outstanding, each
  of which will call back the nominated handler on expiry.
- Non-blocking SSL (as client, as server, with client certs, etc)
- Non-blocking DNS Resolver API: Issue A/CNAME, PTR or MX requests, and your
  code will be called back when the answer is available.
- Blocking DNS Resolver API: Conventional synchronous interface to the above,
  for applications which have not been coded as NAF callbacks.
- DNS-Server framework: You provide the backend data-retrieval, but all the DNS
  protocol and encoding/decoding is done for you. Ideal for embedding in test
  suites that require deterministic DNS responses.
- A lock-free single-threaded execution environment based on the Reactor
  pattern. Parallelism can be provided by adding more Dispatcher threads.
- A built-in management agent, which you can view and control via your web
- Config-driven application setup: The naf.xml config file lets you easily
  specify which tasks and classes to invoke, without having to rebuild your

See the NAF home page at for more info.
Non-trivial sample applications are also included in the NAF source tree, to illustrate NAF's features.


Clone me as follows:
	git clone git:// ossnaf-git

See ./ossnaf for Readme and licencing info - ossnaf/README.txt contains the build instructions.
Note that ossnaf/README.txt also appears in the binary release of NAF and is worded accordingly, but obviously this is the full source tree, here on GitHub.
Something went wrong with that request. Please try again.