# $Id: README 40011 2001-06-08 12:40:27Z oci $

Connection Purging
------------------

The run_test.pl script tests the connection purging using the default
transport protocol (iiop).

Usage: run_test.pl [-u | -s]
       -u for UIOP
       -s for SHMIOP

There are four configurator files, one for each strategy.  Each configurator
file sets the -ORBConnectionCacheMax to 10 and the
-ORBConnectionCachePurgePercentage to 30 (excluding client.null.conf). 
After 10 separate connections are made, 30% of the transport cache is
purged in a way that corresponds to the chosen purging strategy.

This test is very manual at this point (due to the lack of debug interface
on the Transport Cache Manager).  It relies on the debug output of level 1.
Some time, we need to add a debug interface to allow for better (less
manual) regression testing.

Least Recently Used
-------------------
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 0 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54424> on 8
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc3990)
TAO (17519|1) - Some stuff to send
TAO (17519|1) - Some stuff to send
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 1 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54425> on 9
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4118)
TAO (17520|1) - Some stuff to send
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 2 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54426> on 10
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4d50)
TAO (17521|1) - Some stuff to send
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 3 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54427> on 11
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc42b0)
TAO (17522|1) - Some stuff to send
.
.
.
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 5 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54429> on 13
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4ff0)
TAO (17524|1) - Some stuff to send
TAO (17519|1) - Some stuff to send

# Connection #1 (0xc3990) is used after the 5 new connection is made
.
.
.
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 10 10
TAO (17539|1) - Purging 3 of 10 cache entries
TAO (17539|1) - Idle transport found in cache: 0xc4118
TAO (17539|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17539|1) - Idle transport found in cache: 0xc4d50
TAO (17539|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17539|1) - Idle transport found in cache: 0xc42b0
TAO (17539|1) IIOP_Connection_Handler::handle_close (-1, 511)

# Note that Connection #1 is not closed here

TAO (17539|1) IIOP connection to peer <132.200.200.10:54434> on 9
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4338)
TAO (17529|1) - Some stuff to send
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 8 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54435> on 10
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xdbc10)
TAO (17530|1) - Some stuff to send
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 9 10
TAO (17539|1) IIOP connection to peer <132.200.200.10:54436> on 11
TAO (17539|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xdd540)
TAO (17531|1) - Some stuff to send
TAO (17539|1) - TAO_Transport_Cache_Manager::fill_set_i - 10 10
TAO (17539|1) - Purging 3 of 10 cache entries
TAO (17539|1) - Idle transport found in cache: 0xc4e70
TAO (17539|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17539|1) - Idle transport found in cache: 0xc4ff0
TAO (17539|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17539|1) - Idle transport found in cache: 0xc3990
TAO (17539|1) IIOP_Connection_Handler::handle_close (-1, 511)

# Connection #1 (0xc3990)is the sixth transport closed (as is expected)
.
.
.


Least Frequently Used
---------------------
TAO (17540|1) - TAO_Transport_Cache_Manager::fill_set_i - 0 10
TAO (17540|1) IIOP connection to peer <132.200.200.10:54424> on 8
TAO (17540|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc3990)
TAO (17519|1) - Some stuff to send
TAO (17519|1) - Some stuff to send

# Connection #1 (0xc3990) is used twice upon creation

TAO (17540|1) - TAO_Transport_Cache_Manager::fill_set_i - 1 10
TAO (17540|1) IIOP connection to peer <132.200.200.10:54425> on 9
TAO (17540|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4118)
TAO (17520|1) - Some stuff to send
TAO (17540|1) - TAO_Transport_Cache_Manager::fill_set_i - 2 10
TAO (17540|1) IIOP connection to peer <132.200.200.10:54426> on 10
TAO (17540|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4d50)
TAO (17521|1) - Some stuff to send
TAO (17540|1) - TAO_Transport_Cache_Manager::fill_set_i - 3 10
TAO (17540|1) IIOP connection to peer <132.200.200.10:54427> on 11
TAO (17540|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc42b0)
TAO (17522|1) - Some stuff to send
.
.
.
TAO (17540|1) - TAO_Transport_Cache_Manager::fill_set_i - 10 10
TAO (17540|1) - Purging 3 of 10 cache entries
TAO (17540|1) - Idle transport found in cache: 0xc4118
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xc4d50
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xc42b0
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
.
.
.
TAO (17540|1) - Purging 3 of 10 cache entries
TAO (17540|1) - Idle transport found in cache: 0xc4e70
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xc4ff0
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xdb088
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
.
.
.
TAO (17540|1) - Purging 3 of 10 cache entries
TAO (17540|1) - Idle transport found in cache: 0xdb6f8
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xdb8a8
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xdc1e0
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
.
.
.
TAO (17540|1) - Purging 3 of 10 cache entries
TAO (17540|1) - Idle transport found in cache: 0xc4338
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xdbc10
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17540|1) - Idle transport found in cache: 0xdd540
TAO (17540|1) IIOP_Connection_Handler::handle_close (-1, 511)
.
.
.

# Connection #1 (0xc3990) is never purged since was used more frequently
# than any other connection

First In First Out
------------------
TAO (17541|1) - TAO_Transport_Cache_Manager::fill_set_i - 0 10
TAO (17541|1) IIOP connection to peer <132.200.200.10:54424> on 8
TAO (17541|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc3990)
TAO (17519|1) - Some stuff to send
TAO (17519|1) - Some stuff to send
TAO (17541|1) - TAO_Transport_Cache_Manager::fill_set_i - 1 10
TAO (17541|1) IIOP connection to peer <132.200.200.10:54425> on 9
TAO (17541|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4118)
TAO (17520|1) - Some stuff to send
TAO (17541|1) - TAO_Transport_Cache_Manager::fill_set_i - 2 10
TAO (17541|1) IIOP connection to peer <132.200.200.10:54426> on 10
TAO (17541|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4d50)
TAO (17521|1) - Some stuff to send
TAO (17541|1) - TAO_Transport_Cache_Manager::fill_set_i - 3 10
TAO (17541|1) IIOP connection to peer <132.200.200.10:54427> on 11
TAO (17541|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc42b0)
TAO (17522|1) - Some stuff to send
.
.
.
TAO (17541|1) - Purging 3 of 10 cache entries
TAO (17541|1) - Idle transport found in cache: 0xc3990
TAO (17541|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17541|1) - Idle transport found in cache: 0xc4118
TAO (17541|1) IIOP_Connection_Handler::handle_close (-1, 511)
TAO (17541|1) - Idle transport found in cache: 0xc4d50
TAO (17541|1) IIOP_Connection_Handler::handle_close (-1, 511)

# Connection #1 (0xc3990) is purged first reguardless of its usage
.
.
.

NULL (no-op)
------------
TAO (17542|1) IIOP connection to peer <132.200.200.10:54424> on 8
TAO (17542|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc3990)
TAO (17519|1) - Some stuff to send
TAO (17519|1) - Some stuff to send
TAO (17542|1) IIOP connection to peer <132.200.200.10:54425> on 9
TAO (17542|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4118)
TAO (17520|1) - Some stuff to send
TAO (17542|1) IIOP connection to peer <132.200.200.10:54426> on 10
TAO (17542|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc4d50)
TAO (17521|1) - Some stuff to send
TAO (17542|1) IIOP connection to peer <132.200.200.10:54427> on 11
TAO (17542|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xc42b0)
TAO (17522|1) - Some stuff to send
.
.
.
TAO (17542|1) IIOP connection to peer <132.200.200.10:54443> on 27
TAO (17542|1) - TAO_Transport_Cache_Manager::bind_i (0xffbeef34, 0xe5a58)
TAO (17538|1) - Some stuff to send
TAO (17542|1) IIOP_Connection_Handler::handle_close (8, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (9, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (10, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (11, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (12, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (13, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (14, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (15, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (16, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (17, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (18, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (19, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (20, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (21, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (22, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (23, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (24, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (25, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (26, 511)
TAO (17542|1) IIOP_Connection_Handler::handle_close (27, 511)

# No purging should take place at all
