glenda.party
term% ls -F
term% cat index.txt
FCALL(3)                   Library Functions Manual                   FCALL(3)



NAME
       fcall - recreate packet delimiters

SYNOPSIS
       Fctlfd = open(".../ctl", ORDWR);
       Fwrite(ctlfd, "push fcall", 10);

DESCRIPTION
       Fcall is a stream module (see stream(3)) that can be pushed onto a con‐
       nection to a 9P file server. The function of the module is to  recreate
       packet  delimiters  lost in transmission.  The 9P protocol demands that
       network connections preserve delimiters between messages written to the
       file  server.  Stream based protocols, like TCP, are unable to preserve
       delimiters. The delimiters must be recreated by the receiver  before  a
       packet is read by a file system.

       Fcall  examines  a  data  stream  and identifies 9P messages from their
       type. The length of the message is computed from the header.   Data  is
       collected  and buffered by the stream module until an entire 9P message
       has been assembled. A single message is then  delimited  and  sent  up‐
       stream to be read by a file server.

SEE ALSO
       stream(3), ip(3), exportfs(4), srv(4)

SOURCE
       /sys/src/9/port/stfcall.c



                                                                      FCALL(3)