TYPE: CHOP
TITLE: Network CHOP

This CHOP is similar to the Pipe In/Out CHOPs in Network mode. It provides a
fast, asynchronous connection between two remote Houdini processes. The CHOP
operates in either Transmit or Receive mode.

A connection is establish between a client Network CHOP and a server Network
CHOP. By default, the Transmitting Network CHOP is the server; however, if the
parameter "Default Client/Server Setup" is off, the Receiving Network CHOP
becomes the server. Both the Transmitting and Receiving CHOPs must choose the
same client/server setup. This option is mainly for interfacing with external
applications; if you are transmitting from Houdini to Houdini, you do not need
to change this parameter.

The server Network CHOP (normally the Transmitter) selects a port number 
between 5000 and 10000. The client Network CHOP (the receiver) then connects
to the server by setting the address to the server hostname, and the port to
the same port as the server Network CHOP. 

The Transmitting Network CHOP requires an input to transmit. Transmission 
occurs whenever the input changes, or if in Current Frame or Time Slice mode,
whenever the playbar moves. The Network CHOP can choose a Data Link mode to 
send the current frame only (for low bandwidth situations), the current time
slice (for realtime applications) or the full channel. Both the Transmitting
and Receiving CHOPs should use the same "Data Link" mode.

The Receiving Network CHOP receives all of the data from the Transmitter.
However, if the CHOP is not actively reading the data (by cooking) it will
pile up in the buffer. By default, the maximum buffer size is 1000 samples per
channel (the limit can be disabled).

There are no local variables.

Parameters
    Direction              - Transmit or Receive data. When transmitting, 
                             an input is required.
    Default Client/Server Setup  - When on, the Transmitting CHOP is the server;
                             when off, it is the client (see above).
    Address                - The address of the remote server.
    Port                   - The port to use (between 5000 and 10000). You can
                             have multiple parallel connections as long as
                             the port numbers are distinct. A 
                             transmitter/receiver pair must use the same port.
    Data Link              - The portion of data to send over the link.
	Current Frame Only - Sends the value of the current frame 
			     (1 sample per channel). 
	Current Time Slice - Sends the portion of the channel from the
			     last cook time to the current cook time.
	Full Channel       - Sends all the data in all the channels.

    Endian                 - Transmit either Little Endian format data (Intel)
                             or Big Endian (MIPs, PowerPC).
    Active                 - Data is only transmitted or received when this
                                toggle is on.
    Send Channel Names     - Sends the channel names as well as the data if on.
    Receive Most Recent Data - Uses the most recently sent data. If the buffer
                             contains 10 samples and 4 are required, the most
                             recent 4 are used and the previous 6 are lost.
    Limit Input Buffer Size  - Places a limitation on the size of the receive
                             buffer (defined by the next parameter).
    Buffer Size            - The maximum number of samples that the receive 
                             buffer can hold (per channel).

See also: Pipe In(pipein), Pipe Out(pipeout)
