Are requests asynchronous, synchronous or either?
NetKernel is an asynchronous architecture. However the microkernel will attempt to optimally reuse threads synchronously such that context switching is minimized. However, asynchronous applications are generally not easy to build and maintain, so we provide the NetKernel Foundation API which is written so that most applications can be developed using synchronous patterns – even though under the hood they’ll execute asynchronously. At the application level, just like on Unix, applications can fork asynchronous sub-processes – they may also explicitly join a forked sub-process in-order to retrieve a result or handle exceptions. • Requests are received on transports. What type of transports does NetKernel support? A transport on NetKernel is a little like a device-driver. It issues NetKernel URI requests based upon some application or application protocol specific event. It is pretty easy to add new transports. Out of the box we have HTTP, SMTP, POP, IMAP, Telnet, In-tray (directory based