summaryrefslogtreecommitdiff
path: root/TAO/ChangeLog-98c
blob: 2024f53ad466ab6a4659e276c43ee90a7bea1781 (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
Sat May  3 22:45:23 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

	* IIOP/lib/boa.cpp: Added code temporarily that invokes the
	skeleton that is looked up. We still need to add code that will
	handle the case when no match is found on the operation names.

	* IIOP/lib/boa.hh: The register_obj method on TAO_Object_Table
	now returns an integer indicating status of registering (-1 =>
	failure, 0 for success).

	* IIOP/lib/object.hh: The register_op method on
	TAO_Operation_Table now returns an integer code (O for success, -1
	for failure).

	* IIOP/lib/objtable.{hh,cpp}: The register_obj method returns an
	integer code representing either success or failure.

	* IIOP/lib/optable.{hh,cpp}: Added new files that implement
	concrete strategies for operation name lookup.

Fri May  2 08:48:29 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

	* IIOP/lib/object.hh: Modified the signature of register_op on
	TAO_Operation_Table to take a second argument to be a pointer to
	the actual skeleton. 

	Thanks to Brian Mendel for reporting this.

Thu May  1 16:46:11 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

	* IIOP/lib/object.{hh,cpp}: Added a method that can set the parent
	pointer. 

	* IIOP/lib/params.cpp: A hook has been provided in ROA_Factory to
	enable the user to use a user-defined demux strategy.

Wed Apr 30 22:00:51 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

	* IIOP/lib/objtable.{hh,cpp}: Added two new files that define
	different object demultiplexing strategies. 

	* IIOP/lib/Makefile: Added objtable as additional source file to compile.

	* IIOP/lib/boa.cpp: Provided the default destructor for the
	TAO_Object_Table. 

	* IIOP/lib/boa.cpp: Provided the default destructor for the
	TAO_Operation_Table.

	* IIOP/lib/orbobj.cpp: Added support for the -OAtablesize option
	in the call to CORBA_ORB::BOA_init method.

	* IIOP/lib/params.{hh,i,cpp}: Added support to ROA_Factory to return
	a specific object lookup strategy.

	*IIOP/lib/roa.cpp: The ROA constructor initializes its "objtable_"
	private data member with the object lookup strategy returned by
	ROA factory.

Tue Apr 29 11:52:48 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

	* IIOP/lib/any.hh: Moved CORBA_Any_ptr declaration to orb.hh.

	* IIOP/lib/boa.{hh,cpp}: Renamed BOA to CORBA_BOA. The CORBA_BOA class
	maintains a pointer to an abstract TAO_ObjectTable class. Concrete
	classes inheriting from TAO_ObjectTable will provide strategies
	for lookup.

	Added virtual functions to do dispatch based on object key. In
	addition, added a lookup method based on object key that delegates
	the task of looking the object to the object table it maintains.

	Changed the signature of typedef CORBA_BOA::dsi_handler to be pointer to
	member function of class CORBA_BOA. Eventually, this will point to
	the dispatch method of class CORBA_BOA.

	Moved "struct Dispatch_Context" from roa.hh to boa.hh since we
	want BOA to be a full fledged OA eventually and not remain an
	abstract class as it is now. All other OA's such as ROA inherit
	from BOA and only add extra functionality.

	* IIOP/lib/connect.cpp: There was a syntax error (missing comma)
	in one of the ACE_DEBUG statements which has been fixed.

	* IIOP/lib/corbacom.{hh,cpp}: Added class CORBA_String_var as well
	as the CORBA compliant CORBA_string_dup.

	* IIOP/lib/except.hh: Moved CORBA_Exception_ptr declaration to orb.hh.

	* IIOP/lib/object.hh: Added an abstract class
	TAO_Operation_Table. CORBA_Object maintains a pointer to this
	abstract class. The IDL compiler will eventually generate concrete
	classes that employ different lookup strategies for operation name
	lookup.

	* IIOP/lib/orb.hh: Added forward declarations to all CORBA_*
	classes. In addition, moved all the CORBA_*_ptr declarations here.

	* IIOP/lib/orbobj.{hh,cpp}: Added the CORBA compliant BOA_init
	method to class CORBA_ORB. Users can now pass arguments to
	BOA_init. Eventually, we want to make this method return any of
	the specialized OA's depending on the arguments. Right now, we get
	a pointer to the ROA. 

	* IIOP/lib/params.{hh,i}: Added some more methods and enum
	declarations to the ROA_PARAMS singleton. 

	* IIOP/lib/principa.hh: Moved the CORBA_Principal_ptr declaration
	to orb.hh.

	* IIOP/lib/roa.{hh,cpp}: Moved some functionality to boa.hh. ROA
	is now only a specialized form of BOA.

	* IIOP/lib/stub.hh: Moved the typedef for "skeleton" to orb.hh.

	* IIOP/lib/svrrqst.{hh,cpp}: Had to rename BOA to CORBA_BOA.

	* IIOP/lib/typecode.hh: Moved the CORBA_TypeCode_ptr declaration
	to orb.hh.

Tue Apr 22 23:30:19 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* IIOP/lib/connect.cpp (open): Added log message.

	* IIOP/lib/params.cpp (concurrency_strategy): Uses reactive
 	strategy when appropriate.

	* IIOP/lib/params.hh: Reactive strategy added.

Tue Apr 22 21:03:15 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

	* IIOP/lib/giop.cpp: Changed erroneous ACE_GUARD calls to ACE_GUARD_RETURN
 	calls.

Tue Apr 22 16:15:52 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* IIOP/lib/roa.cpp: Removed more POSIX thread calls.

	* IIOP/lib/invoke.cpp: Changed ForceSynchronousCancellation to
 	ACE_Synchronous_Cancellation_Required and made it use the ACE_OS
 	calls.

	* IIOP/lib/{typecode,svrrqst,request,principa,orbobj,nvlist,iiopobj,giop,except,any}.*:
 	Removed all vestiges of pthread mutexes...they are now
 	ACE_Thread_Mutexes.  This will likely have to change if we want to
 	compile something completely devoid of threads, but that's another
 	day.  Also, the mutexes have moved from being globals to being
 	members on the respective classes.  No files should be dependent
 	on thread.hh any longer.

	* IIOP/lib/connect.cpp (open): Removed code obsoleted by use of
 	the Strategy_Acceptor.

	* IIOP/lib/{roa.cpp,connect.cpp},IIOP/tests/svr.cpp: Changes to
 	use new singletons described below.

	* IIOP/lib/params.*: Changed ROA_Parameters and ROA_Factory to use
 	ACE_Singleton<>.  The singleton types are now named ROA_PARAMS and
 	ROA_FACTORY.

Mon Apr 21 23:44:34 1997  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

	* IIOP/lib/roa.cpp (ROA): Changed spelling of clientAcceptor_ to
 	client_acceptor_ to be consistent with ACE style conventions.

Mon Apr 21 10:52:42 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* IIOP/test/clnt.cpp: Moved call to CORBA_ORB_init() prior to the
 	parsing of the command line args.  This got switched around during
 	porting to VxWorks.

	* IIOP/lib/roa.cpp: Changed calls using clientAcceptor_to use APIs
 	vended by ACE_Strategy_Acceptor.

	* IIOP/lib/roa.hh: Moved default thread flags into ROA_Factory.

	* IIOP/lib/params.*: Added ROA_Factory, a singleton which is the
 	beginning of an abstract factory dynamically producing runtime
 	strategies based on information found in ROA_Parameters.

	* IIOP/lib/connect.cpp: Added call to ROA_Handler's base class
 	CTOR in initializer list.

	* IIOP/lib/connect.hh: Changed ROA_Handler's CTOR so that it can
 	take an optional ACE_Thread_Manager* arg.  This makes it
 	compatible with the CTORs for the base class.  Also changed base
 	class for ROA_Acceptor to ACE_Strategy_Acceptor.

	* IIOP/lib/svrrqst.*: Changed references to BOA_ptr from TOA_ptr.

	* IIOP/lib/connect.*: ROA_Handler/ROA_Acceptor moved from roa.*
 	into here.

	* IIOP/lib/params.*: ROA_Parameters moved from roa.* into here.

	* IIOP/lib/boa.*: What used to be TOA is now BOA, and lives in
 	here.

	* IIOP/lib/roa.*: Major restructuring required removal of all
 	classes (see other log entries) from here.  This file now houses
 	only the ROA class.

	* IIOP/lib/{tcpoa.*,toa.*}: Removed because of name changes from
 	TCP_OA->ROA and TOA->BOA.

Fri Apr 18 08:09:19 1997  Brian Mendel   <bmendel@mdc.com>

	* cdr.hh,corbacom.{hh,cpp},giop.cpp,marshall.cpp,typecode.cpp:
 	Changes required for WChar missed in earlier committed code.
	
	* connmgr.cpp: Changes required for select statement.
	
	* nvlist.cpp: Conditional include for memory.h added.  VxWorks
 	does not have memory.h.

	* object.cpp: Added conditional for VXWORKS to define
 	IID_IUnknown.
	
	* orbconf.hh: Minor tuning of the configuration file.
	
	* tcpoa.{hh,cpp}: Added VXWORKS conditional includes.

	* toa.cpp: Added VXWORKS conditional includes.


Mon Apr 15 17:01:00 1997  Brian Mendel  <bmendel@mdc.com>

	* roa.cpp: Added return statement to ROA_Handler::open(void*)
 	method.
	
	* giop.cpp: Modified giop::read_buffer to replace undefined fc
 	with peer.get_handle().  Modified giop::incoming_message method
 	parameter list to match function prototype exactly.
	
	* tcpoa.cpp: Replaced fd instances in debug messages with
 	peer.get_handle() calls.

Mon Apr 14 13:45:54 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* roa.{hh,i,cpp},tcpoa.cpp,svr.cpp: Replaced ACE_ROA with
 	ROA_Parameters, which is a GoF-style singleton.

Sun Apr 13 00:01:56 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

	* roa.cpp: Fix continuation condition in ROA_Handler::svc()'s loop
 	so that it doesn't stop after one iteration.  Also added some
 	debug messages.

	* giop.cpp: Fixed some returns being called with no value.  This
 	should have been caught in the previous round of changes.

Sat Apr 12 23:10:08 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* tcpoa.{hh,cpp}: TCP_OA::handle_message() now returns a value
 	indicating how a message was handled.

	* roa.cpp: ROA_Handler::handle_input() now returns a meaningful
 	value based on what TCP_OA::handle_message() returns.

	* giop.{hh,cpp}: Added end-of-file detection on socket
 	connections, and that is now propagated all the way back up
 	through GIOP::incoming_message().  I don't know if I violated
 	something in the spec by doing this, but it was necessary.  I'll
 	look into it later.

Thu Apr 10 11:49:44 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* giop.{hh,cpp}: Overloaded all methods dealing with connections
 	so that there are two, one taking a file descriptor as argument,
 	the other taking an ACE_SOCK_Stream.  Right now, the *_Stream
 	version simply forwards to the fd-based one.  I would have
 	preferred to get rid of the fd-based methods altogether, but we've
 	only converted the server runtime; the client is still using the
 	original sun code, which is effectively fd-based.  In the course
 	of doing this, I also simplified the decls for incoming_message by
 	creating typedefs for some of the function pointers passed as
 	args.

	* orbconf.hh: Fixed the stupid auto-endian-ness detector
 	AGAIN...had my logic reversed!

	* roa.cpp: Adjusted code in accordance with changes to tcpoa.hh.

	* tcpoa.hh: Moved and renamed TCP_OA::dispatch_context to be
 	::Dispatch_Context, and changed its endpoint member to be an
 	ACE_SOCK_Stream.

	* roa.hh: Fixed handle_input() to use the underlying peer() data
 	member for reading data, rather than using its argument.  This is
 	so that when a different thread handles each connection,
 	handle_input() can simply be called repeatedly by svc().

Wed Apr  9 16:19:21 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

	* tcpoa.cpp: Fixed a problem that G++ didn't notice regarding
 	changing the notion of endpoints in servers from server_endpoint
 	to an ACE_HANDLE.

Wed Apr  9 15:43:37 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* svr.cpp: The -p option is gone, and -e takes its place and is
 	required.  This requires the user to specify not only the port
 	number, but also the IP address of on which the server should
 	listen for requests.  See ACE_INET_Addr documentation for valid
 	string formats for addresses.  Also, the -t option sets the "use
 	threads" global.

	* orbconf.hh: Hopefully resolved the tension between MS and Unix
 	platforms in inferring endian-ness of the target platform based on
 	preprocessor defines.  We now check for i386, _M_X86, and vax
 	(yeah, like we really worry about that, but it's easy to do).

	* roa.{hh,i,cpp}: Added support for spawning threads to handle
 	incoming requests.  This involves a state flag for whether or not
 	to use threads, calling activate() in ROA_Handler::open() if that
 	flag is set, and creating ROA_Handler::svc() that simply loops
 	calling handle_input().
	
Tue Apr  8 11:14:57 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* IIOP/test/svr.cpp: Moved setting of upcall(), forwarder(),
 	context(), etc. into here rather than in TCP_OA::TCP_OA(), which
 	is where I mistakenly stuck them a few days ago (duh!).

	* IIOP/lib/tcpoa.cpp: Removed setting of ACE_ROA::upcall(), which belongs
 	in the server code.  I got confused because the function names
 	were so similar: tcpoa.cpp contains ::tcp_oa_dispatcher(), and
 	svr.cpp contains ::tcpoa_dispatch().

	* IIOP/lib/roa.{hh,i,cpp}: Added forwarding function to ACE_ROA global namespace
 	hack.

	* IIOP/lib/orbconf.hh: Fixed preprocessor checks that auto-detect
 	endian-ness of this processor.

Mon Apr  7 21:08:24 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* IIOP/test/test1_{clnt,svr}.cpp: THESE HAVE NOT BEEN CONVERTED TO
 	USE ACE EVENT HANDLING!!  This round of changes explicitly
 	instantiates templates where required.

	* IIOP/test/svr.cpp: Global function ::OA_listen() no longer
 	exists; its functionality is now fully contained within ::main().
  	If USE_ACE_EVENT_HANDLING is defined, a Reactor-based event loop
 	is used.  The original intent was to allow conditional compilation
 	to select btw. the original method and a Reactor-based method.
  	However, weaving that into the library proved far more difficult
 	than anticipated, so more than likely not defining
 	USE_ACE_EVENT_HANDLING will cause massive grief.

	* IIOP/lib/toa.cpp: Changed call to TCP_OA::init() to reflect new
 	ACE_INET_Addr argument type.

	* IIOP/lib/tcpoa.cpp (TCP_OA): All initialization methods were
 	changed, specifically the CTOR and TCP_OA::init, to reflect the
 	introduction of ACE_INET_Addr.  Two side-effects of using
 	ACE_INET_Addr are that (1) a server can specify the address on
 	which it wants to listen and (2) best that I can tell, the server
 	MUST specify the address on which it wants to listen because
 	otherwise it won't be able to publish a rational IOR.  The event
 	loop is now changed to simply loop on Reactor::handle_events().

	* IIOP/lib/tcpoa.hh (TCP_OA): Removed vestiges of this component's
 	use of the original connection management scheme.  Where
 	appropriate, hostnames and ports were replaces by ACE_INET_Addr,
 	endpoints by ACE_HANDLEs, etc.  One particularly nasty thing done
 	was to declare ROA_Handler as a friend so that handle_message()
 	can be called from ROA_Handler::handle_input(), which to me
 	exposes a hole in the original architecture wherein input is
 	"pulled" rather than waited-for.  We might need to re-think how
 	this is handled within TAO.

	* IIOP/lib/roa.{hh,i,cpp}: These files contain the required
 	components to support the new server-side ACE-based
 	connection/event substrate.  The client side remains, as always,
 	using the connection mgmt scheme used by the original Sun IIOP
 	code.

	* IIOP/lib/giop.cpp: Added explicit template instantiation for
 	when this is needed.

	* IIOP/lib/corbacom.hh: Now protects itself from multiple
 	inclusion.

	* IIOP/lib/Makefile: Added roa.* where appropriate.

Wed Mar 19 10:25:21 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* IIOP/docs/us/codecount/*.count: Added to repository.

	* Makefile: Added to repository.

	* IIOP/objbase.h: Moved to IIOP/compat.

	* IIOP/initguid.h: Moved to IIOP/compat.

Thu Mar 13 14:06:28 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

	* ChangeLog: Added the ChangeLog.