FCALL(3)                                                 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 connection to a 9P file server. The function of the
          module is to recreate packet delimiters lost in transmis-
          sion.  The 9P protocol demands that network connections pre-
          serve 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 mes-
          sage is then delimited and sent upstream to be read by a
          file server.

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

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

     Page 1                       Plan 9            (printed 11/18/24)