|
|
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.