File: io_setcookie.3

package info (click to toggle)
libowfat 0.34-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,288 kB
  • sloc: ansic: 20,181; makefile: 16
file content (25 lines) | stat: -rw-r--r-- 930 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.TH io_setcookie 3
.SH NAME
io_setcookie \- associate cookie with descriptor
.SH SYNTAX
.B #include <libowfat/io.h>

void \fBio_setcookie\fP(int64 fd,void* cookie);
.SH DESCRIPTION
io_setcookie associates a cookie (pointer to some anonymous data
structure) with this descriptor.  Only one cookie can be associated with
a descriptor.

Use io_getcookie(3) to retrieve the cookie for a descriptor (usually
after io_canread or io_canwrite brought it to your attention).

Please note that io_close does not deallocate your cookie.  You need to
do that yourself.

The idea is that you put the state associated with a TCP connection you
serve in a common struct.  Then you do not need to have your own data
structure to retrieve the state for a connection, you can just use the
data structure io_wait already maintains.  The lookup works in constant
time and should not cause any cache misses.
.SH "SEE ALSO"
io_wait(3), io_getcookie(3)