The web framework itself is pure Carp, but its dependencies are POSIX-only.
Socket library (bulk of work):
winsock2.h instead of sys/socket.h, WSAStartup init
closesocket() instead of close()
ioctlsocket(FIONBIO) instead of fcntl for non-blocking
WSAPoll instead of kqueue/epoll (IOCP can be a later optimization)
TransmitFile() instead of sendfile(2)
File library (small):
_unlink instead of unlink
FindFirstFile/FindNextFile instead of opendir/readdir
Time library (trivial):
- Minor
#ifdef for gettimeofday
Everything else (json, uri, http, orm, log, strbuf, bufio, web) is pure Carp and needs no changes.
The web framework itself is pure Carp, but its dependencies are POSIX-only.
Socket library (bulk of work):
winsock2.hinstead ofsys/socket.h,WSAStartupinitclosesocket()instead ofclose()ioctlsocket(FIONBIO)instead offcntlfor non-blockingWSAPollinstead of kqueue/epoll (IOCP can be a later optimization)TransmitFile()instead ofsendfile(2)File library (small):
_unlinkinstead ofunlinkFindFirstFile/FindNextFileinstead ofopendir/readdirTime library (trivial):
#ifdefforgettimeofdayEverything else (json, uri, http, orm, log, strbuf, bufio, web) is pure Carp and needs no changes.