├── .clang-format ├── .gitignore ├── CMakeLists.txt ├── README.md ├── apps ├── CMakeLists.txt └── webget.cc ├── doctests ├── CMakeLists.txt ├── address_dt.cc ├── address_example_1.cc ├── address_example_2.cc ├── address_example_3.cc ├── parser_dt.cc ├── parser_example.cc ├── socket_dt.cc ├── socket_example_1.cc ├── socket_example_2.cc └── socket_example_3.cc ├── etc ├── Doxyfile.in ├── build_defs.cmake ├── build_type.cmake ├── cflags.cmake ├── clang_format.cmake ├── clang_tidy.cmake ├── cppcheck.cmake ├── cppreference-doxygen-web.tag.xml ├── doxygen.cmake ├── linux-man-doxygen-web.tag.xml ├── rfc-doxygen-web.tag.xml ├── sponge_doxygen.css ├── sponge_small.png ├── tests.cmake └── tunconfig ├── libsponge ├── CMakeLists.txt ├── byte_stream.cc ├── byte_stream.hh └── util │ ├── address.cc │ ├── address.hh │ ├── buffer.cc │ ├── buffer.hh │ ├── eventloop.cc │ ├── eventloop.hh │ ├── file_descriptor.cc │ ├── file_descriptor.hh │ ├── parser.cc │ ├── parser.hh │ ├── socket.cc │ ├── socket.hh │ ├── tun.cc │ ├── tun.hh │ ├── util.cc │ └── util.hh ├── tests ├── CMakeLists.txt ├── byte_stream_capacity.cc ├── byte_stream_construction.cc ├── byte_stream_many_writes.cc ├── byte_stream_one_write.cc ├── byte_stream_test_harness.cc ├── byte_stream_test_harness.hh ├── byte_stream_two_writes.cc ├── test_err_if.hh ├── test_should_be.hh └── webget_t.sh └── writeups └── lab0.md /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/README.md -------------------------------------------------------------------------------- /apps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_sponge_exec (webget) 2 | -------------------------------------------------------------------------------- /apps/webget.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/apps/webget.cc -------------------------------------------------------------------------------- /doctests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/CMakeLists.txt -------------------------------------------------------------------------------- /doctests/address_dt.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/address_dt.cc -------------------------------------------------------------------------------- /doctests/address_example_1.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/address_example_1.cc -------------------------------------------------------------------------------- /doctests/address_example_2.cc: -------------------------------------------------------------------------------- 1 | const Address a_dns_server("18.71.0.151", 53); 2 | -------------------------------------------------------------------------------- /doctests/address_example_3.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/address_example_3.cc -------------------------------------------------------------------------------- /doctests/parser_dt.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/parser_dt.cc -------------------------------------------------------------------------------- /doctests/parser_example.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/parser_example.cc -------------------------------------------------------------------------------- /doctests/socket_dt.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/socket_dt.cc -------------------------------------------------------------------------------- /doctests/socket_example_1.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/socket_example_1.cc -------------------------------------------------------------------------------- /doctests/socket_example_2.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/socket_example_2.cc -------------------------------------------------------------------------------- /doctests/socket_example_3.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/doctests/socket_example_3.cc -------------------------------------------------------------------------------- /etc/Doxyfile.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/Doxyfile.in -------------------------------------------------------------------------------- /etc/build_defs.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/build_defs.cmake -------------------------------------------------------------------------------- /etc/build_type.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/build_type.cmake -------------------------------------------------------------------------------- /etc/cflags.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/cflags.cmake -------------------------------------------------------------------------------- /etc/clang_format.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/clang_format.cmake -------------------------------------------------------------------------------- /etc/clang_tidy.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/clang_tidy.cmake -------------------------------------------------------------------------------- /etc/cppcheck.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/cppcheck.cmake -------------------------------------------------------------------------------- /etc/cppreference-doxygen-web.tag.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/cppreference-doxygen-web.tag.xml -------------------------------------------------------------------------------- /etc/doxygen.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/doxygen.cmake -------------------------------------------------------------------------------- /etc/linux-man-doxygen-web.tag.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/linux-man-doxygen-web.tag.xml -------------------------------------------------------------------------------- /etc/rfc-doxygen-web.tag.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/rfc-doxygen-web.tag.xml -------------------------------------------------------------------------------- /etc/sponge_doxygen.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/sponge_doxygen.css -------------------------------------------------------------------------------- /etc/sponge_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/sponge_small.png -------------------------------------------------------------------------------- /etc/tests.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/etc/tests.cmake -------------------------------------------------------------------------------- /etc/tunconfig: -------------------------------------------------------------------------------- 1 | TUN_IP_PREFIX=169.254 2 | -------------------------------------------------------------------------------- /libsponge/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/CMakeLists.txt -------------------------------------------------------------------------------- /libsponge/byte_stream.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/byte_stream.cc -------------------------------------------------------------------------------- /libsponge/byte_stream.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/byte_stream.hh -------------------------------------------------------------------------------- /libsponge/util/address.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/address.cc -------------------------------------------------------------------------------- /libsponge/util/address.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/address.hh -------------------------------------------------------------------------------- /libsponge/util/buffer.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/buffer.cc -------------------------------------------------------------------------------- /libsponge/util/buffer.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/buffer.hh -------------------------------------------------------------------------------- /libsponge/util/eventloop.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/eventloop.cc -------------------------------------------------------------------------------- /libsponge/util/eventloop.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/eventloop.hh -------------------------------------------------------------------------------- /libsponge/util/file_descriptor.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/file_descriptor.cc -------------------------------------------------------------------------------- /libsponge/util/file_descriptor.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/file_descriptor.hh -------------------------------------------------------------------------------- /libsponge/util/parser.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/parser.cc -------------------------------------------------------------------------------- /libsponge/util/parser.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/parser.hh -------------------------------------------------------------------------------- /libsponge/util/socket.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/socket.cc -------------------------------------------------------------------------------- /libsponge/util/socket.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/socket.hh -------------------------------------------------------------------------------- /libsponge/util/tun.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/tun.cc -------------------------------------------------------------------------------- /libsponge/util/tun.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/tun.hh -------------------------------------------------------------------------------- /libsponge/util/util.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/util.cc -------------------------------------------------------------------------------- /libsponge/util/util.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/libsponge/util/util.hh -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/byte_stream_capacity.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_capacity.cc -------------------------------------------------------------------------------- /tests/byte_stream_construction.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_construction.cc -------------------------------------------------------------------------------- /tests/byte_stream_many_writes.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_many_writes.cc -------------------------------------------------------------------------------- /tests/byte_stream_one_write.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_one_write.cc -------------------------------------------------------------------------------- /tests/byte_stream_test_harness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_test_harness.cc -------------------------------------------------------------------------------- /tests/byte_stream_test_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_test_harness.hh -------------------------------------------------------------------------------- /tests/byte_stream_two_writes.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/byte_stream_two_writes.cc -------------------------------------------------------------------------------- /tests/test_err_if.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/test_err_if.hh -------------------------------------------------------------------------------- /tests/test_should_be.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/test_should_be.hh -------------------------------------------------------------------------------- /tests/webget_t.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/tests/webget_t.sh -------------------------------------------------------------------------------- /writeups/lab0.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikshanker/sponge/HEAD/writeups/lab0.md --------------------------------------------------------------------------------