ONECONNECT::reuse

Description

This command controls whether server-side connections are picked from the pool of idle connections, and whether idle server-side connections are returned to the pool or closed when a client connection detaches or closes. It will also display the current status of connection reuse, if called without any options.
For information on how to control the detaching behavior, see ONECONNECT::detach.
The semantics of this command depend on the context in which it is being executed. Refer to iRules Concepts: Considering Context Part 1 and iRules Concepts: Considering Context Part 2 for more information on contexts.

Syntax

ONECONNECT::reuse enable
ONECONNECT::reuse disable
ONECONNECT::reuse

ONECONNECT::reuse enable

Note: Reuse being enabled is the default, all other things being equal.
  • in a serverside context: when client connection detaches/closes, connection is eligible to be returned to the pool of idle connections.
  • in a clientside context: when picking a server-side connection, re-use a connection from the idle pool if one is available according to the settings of the OneConnect profile.

ONECONNECT::reuse disable

  • in a serverside context: when a client connection detaches/closes, close this serverside connection.
  • in a clientside context: when connecting to a server, do not pick an idle connection from the connection pool; establish a new connection.

ONECONNECT::reuse

  • with no option specified, returns the OneConnect status of a connection. Returns ‘1’ for enabled and ‘0’ for disabled. This is available on BIG-IP v10 and higher only.

Only valid with a OneConnect profile applied to the virtual server.
Useful when you need to close a connection after a specific condition is met, but still want to use OneConnect for other traffic traversing the virtual server. (Closing connection after a POST, or to prevent server-side connection re-use after a sensitive transaction is completed.)

Examples

when HTTP_REQUEST {
   if {[HTTP::method] equals GET } {
      ONECONNECT::reuse enable
   } else {
      ONECONNECT::reuse disable
   }
}