summaryrefslogtreecommitdiff
path: root/TAO/tao/ChangeLog
blob: e581b088baa7675a8c9a21a21f80d026d8ed3124 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Sun Mar 24 08:57:37 2002  Balachandran Natarajan  <bala@cs.wustl.edu>

	* tao/Transport.cpp: Fix for bug 1164.  When big messages are
	  being read, read it in a loop till you get all the bytes or till
	  you get an error. We used to do only one read before and looks
	  like this had performance impacts. Thanks to James Kanyok
	  <james.kanyok@lmco.com> for reporting the problem. This will go
	  into the main trunk once we get a feedback from James. 

Tue Feb 19 07:45:05 2002  Balachandran Natarajan  <bala@cs.wustl.edu>

	* tao/IIOP_Connection_Handler.cpp: Added a fix for Jody ie. bug
	  #1129.  Yet, to get a reply whether the fix is right or
	  wrong. Now, we close the socket with the first call to
	  handle_close () and delete it when the upcall count gets to
	  zero.  

Mon Feb 11 14:03:18 2002  Balachandran Natarajan  <bala@cs.wustl.edu>

	* tao/Transport.h: Removed the virtual declaration from the method
	  bidirectional_flag (). It shouldnt have been virtual to start
	  with. 

	* tao/Muxed_TMS.h: Removed some old comments

	* tao/Muxed_TMS.cpp (request_id): 
	* tao/Exclusive_TMS.cpp: Added a condition within request_id
	  (). The request_id that is generated will obey BiDirGIOP rules,
	  ie. the originator will send even number requests and the
	  receiver send odd numbered requests. The old method of
	  generation was giving problems in MT cases. 
	
	* tao/Invocation.cpp: Minor cosmetic changes.
	* tao/IIOP_Transport.cpp: Modify the request id only for the first
	  request during BiDir connection origination. 

	
Thu Jan 31 11:23:59 2002  Balachandran Natarajan  <bala@cs.wustl.edu>

	* tao/Cache_Entries.cpp: Did a cosmetic fix.

	* tao/Cache_Entries.h:
	* tao/Cache_Entries.inl: Added a new method incr_index () to the
	  TAO_CacheExtId class. 

	* tao/Resource_Factory.cpp: 
	* tao/Resource_Factory.h:Added two new methods,
	  max_muxed_connections () and locked_transport_cache (). The
	  former returns the number of user specified muxed connections
	  with a particular property. The latter returns a boolean value
	  to indicate whether the transport cache needs to have a lock or
	  not . 

	* tao/default_resource.cpp:
	* tao/default_resource.h: Concrete implementations for the methods
	  declared in Resource_Factory.
	
	* tao/Transport_Cache_Manager.cpp:
	* tao/Transport_Cache_Manager.h:
	* tao/Transport_Cache_Manager.inl: Added support for counted muxed
	  connections ie. the user can limit the number of remote
	  connections (with a particular property). If the thread
	  searching the cache for a free connection doesnt find one that
	  is free, the thread will wait on a condition variable for the
	  connection to be released. To accomodate this the following set
	  of changes were made
	  
	  - Added a condition variable to the class
	  
	  - Create the type of lock that needs to be used for the cache
	    locally and use that lock to create the condition variable. If
	    the cache is free of any locks we dont create a condition
	    variable. 
	  
	  - The creation of lock has been moved to the
	    Transport_Cache_Manager from the Resource_Factory. 

	  - Added two new methods, wait_for_connection () and
	    is_wakeup_useful (). The wait_for_connection () blocks the
	    thread searching for connection, if there is a limit on the
	    number of muxed connections and if there have been enough
	    connections created with the same property. The
	    is_wakeup_useful () method is called by an unblocked thread to
	    check whether the transport that was returned is the one the
	    thread was waiting for. 

	  - Removed a version of rebind () and a couple of version of
	    unbind () calls as they were not used.


	* tao/Condition.h:
	* tao/Condition.cpp:.
	* tao/Condition.inl: A simple wrapper that wraps a
	  TAO_SYNCH_CONDITION that can be used with different types of
	  Mutex classes.