ltm rule command recvΒΆ

iRule(1)						BIG-IP TMSH Manual						  iRule(1)

recv
       Receives data from a given sideband connection.

SYNOPSIS
       recv ((
		   ('-eol')
		   ('-peek')
		   ('-timeout' MSEC)
		   ('-status' VARIABLE)
	       )#)?
	       (NCHARS)?
	       SIDEBAND_CONNECTION
	       (VARIABLE)?

DESCRIPTION
       This command receives data from an existing sideband connection (established with connect). It is one of several commands
       that make up the ability to create sideband connections from iRules.

RETURN VALUE
       Receives some data (up to numChars bytes) from a sideband connection. If varname is specified, the response is stored in
       that variable, and recv returns the amount of data received. Otherwise, recv returns the response data.

       Arguments

       -timeout ms specifies the amount of time to wait for the data to be received. If unspecified, the default is an immediate
       timeout, and likely not what you want in a typical situation.

        is the name of the variable in which to store the received data. If specified, recv will return the number of
       bytes received. If unspecified, recv will return the received data.

       -eol causes the command to suspend until an end-of-line has been received or the timeout expires. The first line of data
       will be returned.

       -peek will return the data received, but will leave it buffered for a subsequent call to recv

       If -status status_varname is used, the status of the connection attempt is saved to status_varname. These are the possible
       return values for the recv status:
	   received - Got the requested amount of data
	   closed - the connection was closed. Some data may have been received.
	   timeout - A timeout occurred. Some data may have been received.
	   failed - An unexpected error occurred

VALID DURING
       ANY_EVENT

EXAMPLES
	when HTTP_REQUEST {
	    set dest "10.10.145.1:80"
	    set conn [connect -protocol TCP -timeout 30000 -idle 30 $dest]
	    set data "GET /mypage/index.html HTTP/1.0\r\n\r\n"
	    send $conn $data
	    # recv 2000 chars get recv bytes error
	    set recv_2kbytes [recv -timeout 30000 2000 $conn]
	    log local0. "Recv data: '$recv_2kbytes'"
	    set length_recv [string length $recv_2kbytes]
	    log local0. "length_recv has $length_recv bytes in it."
	    close $conn
	}

HINTS
SEE ALSO
CHANGE LOG
       @BIGIP-11.0.0 --First introduced the command.

BIG-IP							    2022-04-12							  iRule(1)