├── .github └── workflows │ ├── ci.yml │ └── doc.yml ├── .gitignore ├── LICENSE-APACHEv2 ├── LICENSE-MIT ├── README.md ├── chronos.nim ├── chronos.nimble ├── chronos ├── apps.nim ├── apps │ └── http │ │ ├── httpagent.nim │ │ ├── httpbodyrw.nim │ │ ├── httpclient.nim │ │ ├── httpcommon.nim │ │ ├── httpdebug.nim │ │ ├── httpserver.nim │ │ ├── httptable.nim │ │ ├── multipart.nim │ │ └── shttpserver.nim ├── asyncloop.nim ├── asyncproc.nim ├── asyncsync.nim ├── bipbuffer.nim ├── config.nim ├── debugutils.nim ├── futures.nim ├── handles.nim ├── internal │ ├── asyncengine.nim │ ├── asyncfutures.nim │ ├── asyncmacro.nim │ ├── errors.nim │ └── raisesfutures.nim ├── ioselects │ ├── ioselectors_epoll.nim │ ├── ioselectors_kqueue.nim │ └── ioselectors_poll.nim ├── osdefs.nim ├── oserrno.nim ├── osutils.nim ├── ratelimit.nim ├── selectors2.nim ├── sendfile.nim ├── srcloc.nim ├── streams │ ├── asyncstream.nim │ ├── boundstream.nim │ ├── chunkstream.nim │ └── tlsstream.nim ├── threadsync.nim ├── timer.nim ├── transport.nim ├── transports │ ├── common.nim │ ├── datagram.nim │ ├── ipnet.nim │ ├── osnet.nim │ └── stream.nim └── unittest2 │ └── asynctests.nim ├── config.nims ├── docs ├── .gitignore ├── book.toml ├── examples │ ├── cancellation.nim │ ├── discards.nim │ ├── httpget.nim │ ├── middleware.nim │ ├── nim.cfg │ ├── signalling.nim │ ├── timeoutcomposed.nim │ ├── timeoutsimple.nim │ └── twogets.nim ├── open-in.css └── src │ ├── SUMMARY.md │ ├── async_procs.md │ ├── concepts.md │ ├── error_handling.md │ ├── examples.md │ ├── getting_started.md │ ├── http_server_middleware.md │ ├── introduction.md │ ├── porting.md │ ├── threads.md │ └── tips.md ├── nim.cfg └── tests ├── config.nims ├── testaddress.nim ├── testall.nim ├── testasyncsemaphore.nim ├── testasyncstream.c ├── testasyncstream.nim ├── testbugs.nim ├── testdatagram.nim ├── testfut.nim ├── testfutures.nim ├── testhttpclient.nim ├── testhttpserver.nim ├── testmacro.nim ├── testnet.nim ├── testproc.bat ├── testproc.nim ├── testproc.sh ├── testratelimit.nim ├── testserver.nim ├── testshttpserver.nim ├── testsignal.nim ├── testsoon.nim ├── teststream.nim ├── testsync.nim ├── testthreadsync.nim ├── testtime.nim └── testutils.nim /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/doc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/.github/workflows/doc.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE-APACHEv2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/LICENSE-APACHEv2 -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/README.md -------------------------------------------------------------------------------- /chronos.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos.nim -------------------------------------------------------------------------------- /chronos.nimble: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos.nimble -------------------------------------------------------------------------------- /chronos/apps.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps.nim -------------------------------------------------------------------------------- /chronos/apps/http/httpagent.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httpagent.nim -------------------------------------------------------------------------------- /chronos/apps/http/httpbodyrw.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httpbodyrw.nim -------------------------------------------------------------------------------- /chronos/apps/http/httpclient.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httpclient.nim -------------------------------------------------------------------------------- /chronos/apps/http/httpcommon.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httpcommon.nim -------------------------------------------------------------------------------- /chronos/apps/http/httpdebug.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httpdebug.nim -------------------------------------------------------------------------------- /chronos/apps/http/httpserver.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httpserver.nim -------------------------------------------------------------------------------- /chronos/apps/http/httptable.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/httptable.nim -------------------------------------------------------------------------------- /chronos/apps/http/multipart.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/multipart.nim -------------------------------------------------------------------------------- /chronos/apps/http/shttpserver.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/apps/http/shttpserver.nim -------------------------------------------------------------------------------- /chronos/asyncloop.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/asyncloop.nim -------------------------------------------------------------------------------- /chronos/asyncproc.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/asyncproc.nim -------------------------------------------------------------------------------- /chronos/asyncsync.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/asyncsync.nim -------------------------------------------------------------------------------- /chronos/bipbuffer.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/bipbuffer.nim -------------------------------------------------------------------------------- /chronos/config.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/config.nim -------------------------------------------------------------------------------- /chronos/debugutils.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/debugutils.nim -------------------------------------------------------------------------------- /chronos/futures.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/futures.nim -------------------------------------------------------------------------------- /chronos/handles.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/handles.nim -------------------------------------------------------------------------------- /chronos/internal/asyncengine.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/internal/asyncengine.nim -------------------------------------------------------------------------------- /chronos/internal/asyncfutures.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/internal/asyncfutures.nim -------------------------------------------------------------------------------- /chronos/internal/asyncmacro.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/internal/asyncmacro.nim -------------------------------------------------------------------------------- /chronos/internal/errors.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/internal/errors.nim -------------------------------------------------------------------------------- /chronos/internal/raisesfutures.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/internal/raisesfutures.nim -------------------------------------------------------------------------------- /chronos/ioselects/ioselectors_epoll.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/ioselects/ioselectors_epoll.nim -------------------------------------------------------------------------------- /chronos/ioselects/ioselectors_kqueue.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/ioselects/ioselectors_kqueue.nim -------------------------------------------------------------------------------- /chronos/ioselects/ioselectors_poll.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/ioselects/ioselectors_poll.nim -------------------------------------------------------------------------------- /chronos/osdefs.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/osdefs.nim -------------------------------------------------------------------------------- /chronos/oserrno.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/oserrno.nim -------------------------------------------------------------------------------- /chronos/osutils.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/osutils.nim -------------------------------------------------------------------------------- /chronos/ratelimit.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/ratelimit.nim -------------------------------------------------------------------------------- /chronos/selectors2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/selectors2.nim -------------------------------------------------------------------------------- /chronos/sendfile.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/sendfile.nim -------------------------------------------------------------------------------- /chronos/srcloc.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/srcloc.nim -------------------------------------------------------------------------------- /chronos/streams/asyncstream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/streams/asyncstream.nim -------------------------------------------------------------------------------- /chronos/streams/boundstream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/streams/boundstream.nim -------------------------------------------------------------------------------- /chronos/streams/chunkstream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/streams/chunkstream.nim -------------------------------------------------------------------------------- /chronos/streams/tlsstream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/streams/tlsstream.nim -------------------------------------------------------------------------------- /chronos/threadsync.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/threadsync.nim -------------------------------------------------------------------------------- /chronos/timer.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/timer.nim -------------------------------------------------------------------------------- /chronos/transport.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/transport.nim -------------------------------------------------------------------------------- /chronos/transports/common.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/transports/common.nim -------------------------------------------------------------------------------- /chronos/transports/datagram.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/transports/datagram.nim -------------------------------------------------------------------------------- /chronos/transports/ipnet.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/transports/ipnet.nim -------------------------------------------------------------------------------- /chronos/transports/osnet.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/transports/osnet.nim -------------------------------------------------------------------------------- /chronos/transports/stream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/transports/stream.nim -------------------------------------------------------------------------------- /chronos/unittest2/asynctests.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/chronos/unittest2/asynctests.nim -------------------------------------------------------------------------------- /config.nims: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/config.nims -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | book 2 | -------------------------------------------------------------------------------- /docs/book.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/book.toml -------------------------------------------------------------------------------- /docs/examples/cancellation.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/cancellation.nim -------------------------------------------------------------------------------- /docs/examples/discards.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/discards.nim -------------------------------------------------------------------------------- /docs/examples/httpget.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/httpget.nim -------------------------------------------------------------------------------- /docs/examples/middleware.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/middleware.nim -------------------------------------------------------------------------------- /docs/examples/nim.cfg: -------------------------------------------------------------------------------- 1 | path = "../.." -------------------------------------------------------------------------------- /docs/examples/signalling.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/signalling.nim -------------------------------------------------------------------------------- /docs/examples/timeoutcomposed.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/timeoutcomposed.nim -------------------------------------------------------------------------------- /docs/examples/timeoutsimple.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/timeoutsimple.nim -------------------------------------------------------------------------------- /docs/examples/twogets.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/examples/twogets.nim -------------------------------------------------------------------------------- /docs/open-in.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/open-in.css -------------------------------------------------------------------------------- /docs/src/SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/SUMMARY.md -------------------------------------------------------------------------------- /docs/src/async_procs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/async_procs.md -------------------------------------------------------------------------------- /docs/src/concepts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/concepts.md -------------------------------------------------------------------------------- /docs/src/error_handling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/error_handling.md -------------------------------------------------------------------------------- /docs/src/examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/examples.md -------------------------------------------------------------------------------- /docs/src/getting_started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/getting_started.md -------------------------------------------------------------------------------- /docs/src/http_server_middleware.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/http_server_middleware.md -------------------------------------------------------------------------------- /docs/src/introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/introduction.md -------------------------------------------------------------------------------- /docs/src/porting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/porting.md -------------------------------------------------------------------------------- /docs/src/threads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/threads.md -------------------------------------------------------------------------------- /docs/src/tips.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/docs/src/tips.md -------------------------------------------------------------------------------- /nim.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/nim.cfg -------------------------------------------------------------------------------- /tests/config.nims: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/config.nims -------------------------------------------------------------------------------- /tests/testaddress.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testaddress.nim -------------------------------------------------------------------------------- /tests/testall.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testall.nim -------------------------------------------------------------------------------- /tests/testasyncsemaphore.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testasyncsemaphore.nim -------------------------------------------------------------------------------- /tests/testasyncstream.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testasyncstream.c -------------------------------------------------------------------------------- /tests/testasyncstream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testasyncstream.nim -------------------------------------------------------------------------------- /tests/testbugs.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testbugs.nim -------------------------------------------------------------------------------- /tests/testdatagram.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testdatagram.nim -------------------------------------------------------------------------------- /tests/testfut.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testfut.nim -------------------------------------------------------------------------------- /tests/testfutures.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testfutures.nim -------------------------------------------------------------------------------- /tests/testhttpclient.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testhttpclient.nim -------------------------------------------------------------------------------- /tests/testhttpserver.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testhttpserver.nim -------------------------------------------------------------------------------- /tests/testmacro.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testmacro.nim -------------------------------------------------------------------------------- /tests/testnet.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testnet.nim -------------------------------------------------------------------------------- /tests/testproc.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testproc.bat -------------------------------------------------------------------------------- /tests/testproc.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testproc.nim -------------------------------------------------------------------------------- /tests/testproc.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testproc.sh -------------------------------------------------------------------------------- /tests/testratelimit.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testratelimit.nim -------------------------------------------------------------------------------- /tests/testserver.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testserver.nim -------------------------------------------------------------------------------- /tests/testshttpserver.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testshttpserver.nim -------------------------------------------------------------------------------- /tests/testsignal.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testsignal.nim -------------------------------------------------------------------------------- /tests/testsoon.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testsoon.nim -------------------------------------------------------------------------------- /tests/teststream.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/teststream.nim -------------------------------------------------------------------------------- /tests/testsync.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testsync.nim -------------------------------------------------------------------------------- /tests/testthreadsync.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testthreadsync.nim -------------------------------------------------------------------------------- /tests/testtime.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testtime.nim -------------------------------------------------------------------------------- /tests/testutils.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-chronos/HEAD/tests/testutils.nim --------------------------------------------------------------------------------