Commit Graph

  • e1f14eded4 posix: timerfd support Avi Kivity 2014-09-01 12:50:37 +03:00
  • 1b6892abf8 core: switch read_some() to use read(), not recv() Avi Kivity 2014-09-01 11:57:07 +03:00
  • 32f8a84949 core: add reactor::start() to obtain an initial future<> Avi Kivity 2014-09-01 11:55:07 +03:00
  • 105015b552 Import timer wheel code from OSv Avi Kivity 2014-09-01 08:43:11 +03:00
  • 0fbda7c1ec Fix IP checksum for off lengths Avi Kivity 2014-08-31 23:37:34 +03:00
  • 3a75cf1d55 virtio: clear entire virtio net header Avi Kivity 2014-08-31 22:43:03 +03:00
  • c77f77ee3f build: organize files into a directory structure Avi Kivity 2014-08-31 21:25:27 +03:00
  • fc5ad77fc8 build: support subdirectories Avi Kivity 2014-08-31 20:57:08 +03:00
  • 99ed043a41 net: add ipv4 test Avi Kivity 2014-08-31 20:38:59 +03:00
  • ad312f9889 net: add IPv4 support Avi Kivity 2014-08-31 20:38:06 +03:00
  • 370a46462c net: add arp support Avi Kivity 2014-08-31 20:36:06 +03:00
  • 7844b18f75 net: don't include ip.hh Avi Kivity 2014-08-31 20:34:46 +03:00
  • 50bcea8b5c ethernet: add ethernet class Avi Kivity 2014-08-31 20:33:22 +03:00
  • 9812b44c62 net: add missing interface:: and l3_protocol:: send() functions Avi Kivity 2014-08-31 20:32:08 +03:00
  • ea7d91ac2c net: teach an interface/device about hardware addresses Avi Kivity 2014-08-31 20:30:48 +03:00
  • ac4f9a65b5 Add an ipv4_address type Avi Kivity 2014-08-31 20:26:59 +03:00
  • d7eb75e0ec Add print helper for ethernet_address Avi Kivity 2014-08-31 20:22:15 +03:00
  • ae87a8f689 Make ethernet_address its own type Avi Kivity 2014-08-31 20:20:29 +03:00
  • 9e16c5ab62 Add print() helper Avi Kivity 2014-08-31 20:18:09 +03:00
  • ee8558283d Split ethernet support to new file ethernet.hh Avi Kivity 2014-08-31 13:37:21 +03:00
  • 93804c2b25 Split byte-order support to new file byteorder.hh Avi Kivity 2014-08-31 13:34:08 +03:00
  • 3aec580cbe Add L3 test Avi Kivity 2014-08-31 13:29:54 +03:00
  • 4baf051763 net: add support for dispatching packets to L3 protocol handlers Avi Kivity 2014-08-31 13:29:14 +03:00
  • 607b3af7e6 net: add more helpers for playing with packets Avi Kivity 2014-08-31 13:26:11 +03:00
  • 28d50bbc7a net: define a type for ethernet_address Avi Kivity 2014-08-31 13:23:10 +03:00
  • 9f5c0dbf59 ip: improve endianness adjustment Avi Kivity 2014-08-28 21:30:33 +03:00
  • 00b462ef67 ip: fix checksum for odd-sized packets Avi Kivity 2014-08-28 20:40:48 +03:00
  • 71bef72332 virtio: correctly prepend net_hdr before transmitting packet Avi Kivity 2014-08-28 20:02:28 +03:00
  • b89787eeda virtio: fix multi-buffer request Avi Kivity 2014-08-28 20:01:04 +03:00
  • 859c99971c virtio: introduce net_hdr structure Avi Kivity 2014-08-28 18:34:29 +03:00
  • 82489025a1 net: don't forget to copy data when prepending a fragment to a packet Avi Kivity 2014-08-28 20:00:35 +03:00
  • 9e7dd74bfa net: fix build in debug mode due to missing static variable Avi Kivity 2014-08-28 19:59:13 +03:00
  • a7930ffcaa net: rework packet class Avi Kivity 2014-08-28 17:29:27 +03:00
  • e697091201 build: link with libtcmalloc Avi Kivity 2014-08-27 20:25:53 +03:00
  • 9813207ed2 build: fix the build on Ubuntu Tomasz Grabiec 2014-08-27 13:28:10 +02:00
  • b957650a03 build: simplify link rules Avi Kivity 2014-08-27 19:17:03 +03:00
  • 64c8302f39 Move more posix functions to posix.hh Avi Kivity 2014-08-27 18:26:54 +03:00
  • 268d24170d Make posix.hh independent of reactor.hh Avi Kivity 2014-08-27 17:37:10 +03:00
  • 34667e8dfe reactor: fix io_setup() failure Tomasz Grabiec 2014-08-27 13:28:23 +02:00
  • 462a285dc1 Add simple virtio test Avi Kivity 2014-08-27 17:25:42 +03:00
  • 67952a24d4 Add IPv4 definitions and helpers Avi Kivity 2014-08-27 17:25:19 +03:00
  • bdd0125116 build: don't unconditionally build with -flto Avi Kivity 2014-08-27 17:24:29 +03:00
  • 888298778a build: pass mode to sub-make Avi Kivity 2014-08-27 17:24:17 +03:00
  • 5b27163071 Add rudimentary virtio support Avi Kivity 2014-08-27 17:22:13 +03:00
  • 6b265e9c33 Add network stack interface definitions Avi Kivity 2014-08-27 17:21:41 +03:00
  • 85e3645866 Extend semaphore with try_wait() Avi Kivity 2014-08-27 17:21:12 +03:00
  • 1cfa018243 Add helper for creating structures ending with variable-length arrays Avi Kivity 2014-08-27 17:20:34 +03:00
  • 90b766db2e Add C++ wrappers of common posix functionality Avi Kivity 2014-08-27 17:20:06 +03:00
  • 344a4fe4bc Add Linux virtio interface definitions Avi Kivity 2014-08-27 17:18:38 +03:00
  • 68a66b3c14 Add .gitignore Avi Kivity 2014-08-25 09:28:55 +03:00
  • f7da882a40 build: generate objects in build directory Avi Kivity 2014-08-25 09:26:53 +03:00
  • 53dcf701b9 Encapsulate eventfd into classes Avi Kivity 2014-08-24 19:44:52 +03:00
  • 745a420aea Move pollable_fd around for later reuse Avi Kivity 2014-08-24 19:44:22 +03:00
  • 7899894643 httpd: handle errors Avi Kivity 2014-08-24 18:08:38 +03:00
  • 547756ce95 Exception handling support Avi Kivity 2014-08-24 15:52:18 +03:00
  • fedb0d787f fileiotest: flush after completing the test Avi Kivity 2014-08-24 11:05:05 +03:00
  • 754a245d59 Implement file::flush() Avi Kivity 2014-08-24 11:04:59 +03:00
  • 2bec091b9e Fix future chaining with 0-argument futures Avi Kivity 2014-08-24 11:04:42 +03:00
  • 3f1c383e46 Fix is_future<> for non-single-argument futures Avi Kivity 2014-08-24 11:03:27 +03:00
  • 239f76c342 Implement open_file_dma() using the thread pool Avi Kivity 2014-08-24 10:36:24 +03:00
  • ebd10bf349 Add a thread pool to augment kernel support for aio Avi Kivity 2014-08-24 10:34:08 +03:00
  • 7f609a1959 fileiotest: limit concurrency Avi Kivity 2014-08-24 10:30:54 +03:00
  • 91f10b8a9c Add asynchronous I/O test Avi Kivity 2014-08-21 13:50:36 +03:00
  • ec7b440a99 Add asynchronous file I/O Avi Kivity 2014-08-21 13:54:52 +03:00
  • f05e31dfc8 Asynchronous I/O infrastructure Avi Kivity 2014-08-21 13:54:39 +03:00
  • cfeec3799e Add a an asynchronous semaphore class Avi Kivity 2014-08-21 13:45:09 +03:00
  • f96b0d5b53 Move pollable_fd_state around Avi Kivity 2014-08-21 12:12:36 +03:00
  • 10695644d7 Get rid of regex in http parser Avi Kivity 2014-08-20 16:37:11 +03:00
  • 26527252c5 Remove accept_result Avi Kivity 2014-08-20 11:31:01 +03:00
  • b9148304b6 Make future<> and friends a variadic template Avi Kivity 2014-08-20 11:24:32 +03:00
  • 8b3690af80 Add apply(func, tuple) Avi Kivity 2014-08-20 11:18:23 +03:00
  • 2207e8e5f3 Add make_ready_future() helper when no async work needs to be done Avi Kivity 2014-08-18 16:59:25 +03:00
  • ccb052a418 Speculate epoll results Avi Kivity 2014-08-18 15:52:52 +03:00
  • b9ebc652cb Extract epoll completion handling into a helper Avi Kivity 2014-08-18 14:46:02 +03:00
  • 96b813fbfc Lazy epoll management Avi Kivity 2014-08-18 13:04:44 +03:00
  • 784b2bf3ed Extract common parts of reactor::readable() and reactore::writeable() into a helper Avi Kivity 2014-08-18 12:36:01 +03:00
  • b10da4fa1d Switch epoll_add_int()/epoll_add_out() to future<void> Avi Kivity 2014-08-18 10:56:36 +03:00
  • c8e04c8cd9 Implement missing future<void> specializations Avi Kivity 2014-08-18 10:56:09 +03:00
  • 22f0721a39 Implement missing promise<> move assignment Avi Kivity 2014-08-18 10:55:43 +03:00
  • ecf989901f future<void> specialization Avi Kivity 2014-08-18 00:23:34 +03:00
  • acdf96947c fix promise deleted copy constructor Avi Kivity 2014-08-18 00:23:19 +03:00
  • ef749bf26c fix assigning exception to future Avi Kivity 2014-08-18 00:22:55 +03:00
  • 216ac3cdf0 no need to move() in return stmt Avi Kivity 2014-08-17 09:38:42 +03:00
  • 1ee08b01ab switch pollable_fd to move semantics Avi Kivity 2014-08-15 14:50:46 +03:00
  • c539cdcbee short-circuit then() if future is ready Avi Kivity 2014-08-15 01:09:54 +03:00
  • cec55519fe future chaining in httpd (reduces perf?) Avi Kivity 2014-08-15 00:35:32 +03:00
  • c7a2417c98 allow futures to be chained: fut.then(...).then(...); Avi Kivity 2014-08-15 00:35:11 +03:00
  • 3140f14697 future::then() callbacks no longer accept a future Avi Kivity 2014-08-14 23:55:11 +03:00
  • 1c66118a72 wip Avi Kivity 2014-08-14 18:05:11 +03:00
  • b6c91052e2 works Avi Kivity 2014-08-14 11:07:05 +03:00
  • 7ea696c29e checkpoint Avi Kivity 2014-08-14 09:20:03 +03:00
  • 919e9c4214 checkpoint Avi Kivity 2014-08-12 23:52:23 +03:00
  • c3292aeb63 checkpoint Avi Kivity 2014-08-12 22:10:20 +03:00
  • 96dab351d4 checkpoin Avi Kivity 2014-08-12 18:51:17 +03:00
  • ebc58c56c3 checkpoint Avi Kivity 2014-08-12 17:06:18 +03:00
  • 1b05c9ab9c checkpoint Avi Kivity 2014-08-11 17:59:46 +03:00
  • 30b73db070 checkpoint Avi Kivity 2014-08-10 19:26:30 +03:00
  • 193ac5919d Initial commit Avi Kivity 2014-08-10 08:56:33 +03:00