|
|
1.1 root 1: .TH FCALL 3
2: .SH NAME
3: fcall \- recreate packet delimiters
4: .SH SYNOPSIS
5: .nf
6: .B
7: Fctlfd = open(".../ctl", ORDWR);
8: .B
9: Fwrite(ctlfd, "push fcall", 10);
10: .fi
11: .SH DESCRIPTION
12: .PP
13: .B Fcall is a
14: .I stream module
15: (see
16: .IR stream (3))
17: that can be pushed onto a connection to a 9P file server. The function
18: of the module is to recreate packet delimiters lost in transmission.
19: The 9P protocol demands that network connections preserve delimiters between
20: messages written to the file server.
21: Stream based protocols, like TCP, are unable to preserve
22: delimiters. The delimiters must be recreated by the receiver before a packet
23: is read by a file system.
24: .PP
25: .I Fcall
26: examines a data stream and identifies 9P messages from their type. The length
27: of the message is computed from the header.
28: Data is collected and buffered by the stream module until an entire 9P message
29: has been assembled. A single message is then delimited and sent upstream to be read
30: by a file server.
31: .SH "SEE ALSO"
32: .IR stream (3),
33: .IR ip (3),
34: .IR exportfs (4),
35: .IR srv (4)
36: .SH SOURCE
37: .B /sys/src/9/port/stfcall.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.