2014-09-01 09:16:31 +02:00
|
|
|
|
2015-10-11 23:09:30 +02:00
|
|
|
"copy into peer's" "encrypt in place"
|
|
|
|
+------------------+ "send buffer" +---------------+ "(no copy)" +---------------+
|
|
|
|
| "receive buffer" +----------------->| "send buffer" +------------------>| "encrypted" |
|
|
|
|
| | | | | "send buffer" |
|
|
|
|
+------------------+ +---------------+ +---------------+
|
2014-09-01 09:16:31 +02:00
|
|
|
^ |
|
2015-10-11 23:09:30 +02:00
|
|
|
| "read() from file" "write() to socket" |
|
|
|
|
| "(copy)" "user space" "(copy)" |
|
|
|
|
- - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - -
|
|
|
|
| "kernel space" |
|
2014-09-01 09:16:31 +02:00
|
|
|
| v
|
2015-10-11 23:09:30 +02:00
|
|
|
+-------+-------------+ +-----------------+
|
|
|
|
| "kernel page cache" | | "socket kernel" |
|
|
|
|
| | | "buffer" |
|
|
|
|
+---------------------+ +-----------------+
|