Concatenative topics
Concatenative meta
Other languages
Meta
Intermediate
First, a binding needs to be written to the Windows SSL API, Schannel. Once the binding is place, some high-level abstractions will need to be built on top, to automate memory management and other such details -- Factor's destructors will be useful here. After that, an implementation of the high-level abstraction defined in io.sockets.secure
will need to be written.
All the code should integrate with the overlapped I/O implementation in io.backend.windows.nt
to ensure that SSL-based clients and servers can handle multiple simultaneous connections.
The project will be deemed complete when all the unit tests in the io.sockets.secure.unix
vocabulary are moved to the io.sockets.secure
vocabulary, and the tests pass Windows. Additionally, there will be code review to ensure the code is of sufficient quality to ensure future maintainability, and a load tester will be run against the HTTP server serving HTTPS pages to ensure stability.
The student gains experience working with low-level networking code, and will be better equipped to develop debug server-side applications in the future.
Lack of SSL support on Windows is the only stumbling block between compete feature parity in Factor's I/O library on Windows and Unix. Since SSL is widespread today, lack of it makes it hard to develop certain types of applications in Factor on Windows.
This revision created on Fri, 13 Mar 2009 03:36:42 by slava