2005-05-31 Lluis Sanchez Gual <lluis@novell.com>
[mono.git] / mcs / class / corlib / System.Runtime.Remoting.Messaging / ChangeLog
1 2005-05-31  Lluis Sanchez Gual  <lluis@novell.com>
2
3         * ReturnMessage.cs: Added some null checks.
4         * MethodReturnMessageWrapper.cs: Added some null checks. Fixed
5         incorrect cast in the constructor.
6
7 2005-05-20  Sebastien Pouliot  <sebastien@ximian.com>
8
9         * AsyncResult.cs: Added new fields (required for stack propagation) to
10         match runtime structure.
11
12 2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>
13
14         * MethodCall.cs: Fix warning.
15
16 2004-10-26  Lluis Sanchez Gual  <lluis@novell.com>
17
18         * CallContext.cs: In CreateLogicalCallContext, added parameter which
19         specifies if an empty LogicalCallContext needs to be created if there are
20         no context values.
21
22 2004-09-27  Lluis Sanchez Gual  <lluis@novell.com>
23
24         * MethodCallMessageWrapper.cs: The wrapper has to modify the wrapped
25           message. MS does it.
26         * ReturnMessage.cs: Use TypeName instead of _typeName since now name is
27           lazely constructed.
28
29 2004-09-22  Lluis Sanchez Gual  <lluis@novell.com>
30
31         * ConstructionCall.cs: Added a Proxy property (which is the proxy that
32           will reference the object being created).
33         * StackBuilderSink.cs: Take into account the forceInternalExecute
34           parameter.
35
36 2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
37
38         * CallContext.cs: Use [ThreadStatic], it is much faster than the
39         Thread.[Get/Set]Data functions
40
41 2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
42
43         * CADMessages.cs: get rid of method / type name, it is not needed
44         * MethodCall.cs: lazily init method / type name.
45         * ReturnMessage.cs: lazily init method / type name, sig.
46
47 2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
48
49         * CADMessages.cs, MethodCall.cs: When doing an x-appdomain
50         call, store the method in a RuntimeMethodHandle. This allows
51         us to avoid the expensive lookup operations that must be done
52         to resolve the method. This makes xsp go from 250 r/s to 450 r/s
53         for me.
54
55 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
56
57         * MethodCall.cs, CADMessages.cs: String.Copy (x) is the same
58         thing as new string (x.ToCharArray ()), however it involves
59         half the memory allocation
60
61 2004-07-22  Lluis Sanchez Gual  <lluis@novell.com>
62
63         * MethodCall.cs: Use RemotingServices.GetMethodBaseFromName to get the
64           MethodBase from the method name. This fixes bug #61774.
65
66 2004-06-18  Sebastien Pouliot  <sebastien@ximian.com>
67
68         * ReturnMessage.cs: Added IMessage interface to class definition.
69
70 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
71
72         * ReturnMessage.cs: remove serializable attribute to match MS.NET
73
74 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
75
76         * MethodResponse.cs: Only get the MethodBase from type and method name when
77           requested.
78
79 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
80
81         * MethodResponse.cs: In the serialization constructor, initialize MethodBase
82           using the method name and type name.
83
84 2004-05-03  Lluis Sanchez Gual  <lluis@ximian.com>
85
86         * MethodResponse.cs, ReturnMessage.cs: More null checks.
87
88 2004-04-30  Lluis Sanchez Gual  <lluis@ximian.com>
89
90         * MethodResponse.cs, ReturnMessage.cs: Added null checks.
91
92 2004-04-29  Raja R Harinath  <rharinath@novell.com>
93
94         * MethodResponse.cs (MethodResponse.OutArgCount)
95         (MethodResponse.GetOutArg): Make reference to _args null-safe.
96
97 2004-04-28  Lluis Sanchez Gual  <lluis@ximian.com>
98
99         * CADMessages.cs: Revert last change. It was ok.
100         * MethodResponse.cs, ReturnMessage.cs: Handle output parameters in a
101           different way. The message is constructed from an array that has all
102           parameters, including input parameters (which will be set to null).
103           The Args property returns all arguments. OutArgs returns only the
104           output arguments, which are taken from the provided args list.
105         
106 2004-04-26  Lluis Sanchez Gual  <lluis@ximian.com>
107
108         * CADMessages.cs: Marshal the correct return args for the return message.
109
110 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
111
112         * AsyncResult.cs:
113         (AsyncWaitHandle): create the handle if not done yet.
114
115 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
116
117         * AsyncResult.cs: Added async_callback field and fixed the callback call.
118         I thought that async_delegate was the callback, but it is not, it is the
119         delegate upon which the async call was invoked. This fixes bug #53020.
120         * StackBuilderSink.cs: If the target object is a proxy, make the call
121         using the Invoke method of the real proxy.
122
123 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
124
125         * ConstructionResponse.cs: Added constructor for exception response.
126
127 2003-12-22  Lluis Sanchez Gual  <lluis@ximian.com>
128
129         * MethodCall.cs: Do not try to resolve the method in the serialization
130           constructor, since the type array may not be yet completely deserialized.
131           This fixes bug #52426.
132
133 2003-12-10  Lluis Sanchez Gual  <lluis@ximian.com>
134
135         * AsyncResult.cs: Call delegate on async call completion.
136         * CADMessages.cs: Removed TODO.
137
138 2003-11-28  Dick Porter  <dick@ximian.com>
139
140         * MethodCall.cs: Use the char form of IndexOf, so that the
141         comparison is done with the Invariant culture.
142
143 2003-11-26  Lluis Sanchez Gual <lluis@ximian.com>
144
145         * MethodCall.cs, MethodResponse.cs, ReturnMessage.cs: Implemented
146           HasVarArgs property.
147
148 2003-11-25  Lluis Sanchez Gual <lluis@ximian.com>
149
150         * AsyncResult.cs, CallContext.cs: Added private constructor.
151         * ReturnMessage.cs: Added parameter array length check.
152
153 2003-11-18  Lluis Sanchez Gual <lluis@ximian.com>
154
155         * ArgInfo.cs, ClientContextTerminatorSink.cs, ErrorMessage.cs, MethodCall.cs,
156           MethodResponse.cs, MonoMethodMessage.cs, ServerContextTerminatorSink.cs,
157           StackBuilderSink.cs: Fixed class visibility.
158         * CADMessages.cs: Added null reference check in SaveLogicalCallContext.
159         * ISerializationRootObject.cs: Added.
160
161 2003-11-17  Lluis Sanchez Gual <lluis@ximian.com>
162
163         * StackBuilderSink.cs: Implemented AsyncProcessMessage().
164         
165 2003-11-16  Lluis Sanchez Gual <lluis@ximian.com>
166
167         * CADMessages.cs: Added methods for setting and getting the logical call
168           context.
169         * ConstructionCall.cs: Fixed signature of some methods.
170         * ConstructionResponse.cs: Fixed signature of constructor and added missing
171           property.
172         * LogicalCallContext.cs: Removed TODO.
173         * MethodCall.cs, MethodResponse.cs: Added support for LogicalCallContext in
174           consturctor.
175         * MethodReturnMessageWrapper.cs: Removed some unneded methods.
176
177 2003-11-11  Lluis Sanchez Gual  <lluis@ximian.com>
178
179         * ConstructionCall.cs, ReturnMessage.cs: minor fixes.
180
181 2003-10-23  Lluis Sanchez Gual  <lluis@ximian.com>
182
183         * MethodCall.cs: In the constructor that takes a CADMethodCallMessage
184           object, make sure strings are not reused across domains.
185
186 2003-10-08  Lluis Sanchez Gual  <lluis@ximian.com>
187
188         * CADMessages.cs: added smuggeling argument support for some instances
189           of MarshalByRefObject. This should make the cross-appdomain channel 
190           even faster. Some other minor fixes.
191
192 2003-10-07  Lluis Sanchez Gual  <lluis@ximian.com>
193
194         * CADMessages.cs: improved argument smuggeling. Now it supports strings,
195           datetime and arrays of primitive types. This makes CAD much faster.
196         * AsyncResult.cs: Added property to store the call message.
197
198 2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
199
200         * ArgInfo.cs: Include parameters with the Out flag in the out parameters list.
201         * CallContext.cs: SetCurrentCallContext now returns the old context, so it
202           can be later restored with new new method RestoreCallContext().
203         * ReturnMessage.cs: Some fixes in the way the class deals with output parameters,
204           to match MS.NET behavior.
205
206 2003-08-28  Lluis Sanchez Gual  <lluis@ximian.com>
207
208         * MonoMethodMessage.cs: Moved CallType into namespace declaration.
209
210 2003-08-25  Lluis Sanchez Gual <lluis@ximian.com>
211
212         * AsyncResult.cs: Added method EndInvoke(). Fixed SyncProcessMessage().
213         * CallContext.cs: Clean current logical context before setting the new
214           values form LogicalCallContext (SetCurrentCallContext).
215         * MonoMethodMessage.cs: Added new CallType field and enum.
216         * StackBuilderSink.cs: Improved error message.
217
218 2003-08-20  Lluis Sanchez Gual <lluis@ximian.com>
219
220         * MethodCall.cs: Changed exception text to match MS.NET (more or less).
221         * AsyncResult.cs: Added new fields to store async calls results.
222
223 2003-08-17  Lluis Sanchez Gual <lluis@ximian.com>
224
225         * MethodCall.cs: Throw the right exception if the target object is not
226           found when resolving the target method.
227
228 2003-08-17  Lluis Sanchez Gual <lluis@ximian.com>
229
230         * CallContext.cs: Fixed bug #47686.
231
232 2003-08-14  Lluis Sanchez Gual <lluis@ximian.com>
233
234         * CADMessages.cs: Enabled smuggeling of primitive type parameters (as suggested
235           by Patrik).
236         * CallContext.cs: Impplemented.
237         * LogicalCallContext.cs: Implemented.
238         * MonoMethodMessage.cs: Added setter for LogicalCallContext property.
239
240 2003-07-25  Lluis Sanchez Gual <lluis@ximian.com>
241
242         * ArgInfo.cs: Use Type.IsByRef to check if a parameter is a ref or
243           out parameter.
244         * MethodCall.cs: Improved checking if the requested client type for the target
245           object can be casted to the server type. Now not only checks type name,
246           but also the type hierarchy and implemented interfaces. Also implemented
247           method ToString().
248         * MethodResponse.cs: Imlemented ToString().
249         * ReturnMessage.cs: In the exception constructor, allow the request to be null.
250           Implemented ToString().
251         * StackBuilderSink.cs: Check type of parameters before calling the target method.
252           (a wrong type would make the runtime to crash).
253
254 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
255
256         * MethodDictionary.cs: Fixed Add method. If the property is method
257           property, then there is no need it to the internal properties table.
258
259 2003-07-21  Lluis Sanchez Gual <lluis@ximian.com>
260
261         * MethodCall.cs: Fixed copy constructor, when the message to copy does not
262           implement IMethodMessage.
263
264 2003-07-09  Jean-Marc André <jean-marc.andre@polymtl.ca>
265
266         * ReturnMessage.cs: Bug fix. GetOutArgName didn't return the right Name for the given out parameter.
267
268 2003-05-13  Lluis Sanchez Gual <lluis@ideary.com>
269         
270         * MethodCall.cs: ResolveMethod now uses the type of the target object (identified
271           by the uri) instead of the type specified by TypeName (only if both types have
272           the same name).
273
274 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
275         
276         * AsyncResult.cs: implemented some methods.
277         * ClientContextTerminatorSink.cs: Improved support for Async and OneWay messages.
278         * MonoMethodMessage.cs: Added member needed to support Async messages.
279         * ServerObjectTerminatorSink.cs: Improved support for Async and OneWay messages.
280
281 2003-03-21  Lluis Sanchez Gual <lluis@ideary.com>
282         
283         * CADMessages.cs: removed some warnings.
284         * ClientContextTerminatorSink.cs: added support for dynamic sinks.
285         * ConstructionCall.cs: added internal property IsContextOK.
286         * MethodResponse.cs: fixed management of output parameters.
287         * ServerObjectTerminatorSink.cs: added support for dynamic sinks.
288
289 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
290
291         * ConstructionCall.cs: Added internal constructor. Added setter for activation attributes.
292           Some other minor corrections.
293         * EnvoyTerminatorSink.cs: Message now redirected to current context's client sink chain.
294         * MethodCall.cs: Added method for copying messages.
295
296 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
297
298         * MethodCall.cs:
299         (MethodBase): resolve the method if it's not already done.
300
301 2003-02-18  Lluis Sanchez Gual <lluis@ideary.com>
302
303         * IInternalMessage.cs: Added. Provides some useful methods for method messages.
304         * ServerContextTerminatorSink.cs: Added support for construction messages.
305         * MethodCall.cs: Implemented serialization support. Added support for IInternalMessage.
306         * MethodDictionary.cs: Added support for IInternalMessage.
307         * MethodResponse.cs: Added serialization support. Added support for IInternalMessage.
308         * MonoMethodMessage.cs: Added support for IInternalMessage.
309         * ReturnMessage.cs: Added support for IInternalMessage.
310         * ClientContextTerminatorSink.cs: Added.
311         * ConstructionCall.cs: Added.
312         * ConstructionCallDictionary.cs: Added.
313         * ConstructionResponse.cs: Added.
314         * EnvoyTerminatorSink.cs: Added.
315         
316 2003-02-07  Patrik Torstensson
317
318         * CADMessages.cs: Disable smuggeling of objects cross domain, still issues casing remoting
319           to fail. (fixed formating)
320
321 2003-02-07  Lluis Sanchez Gual <lluis@ideary.com>
322
323         * CADMessages.cs: Some minor changes that allow reuse of ObjRef methods.
324         
325 2003-02-05  Lluis Sanchez Gual <lluis@ideary.com>
326         
327         * ReturnMessage.cs, MethodResponse.cs: OutArgs initialized to an empty array
328           when the the message returns an exception.
329
330 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
331         
332         * ServerContextTerminatorSink.cs: Modified to work with new types of identities.
333         * ReturnMessage.cs: Removed internal dependence to MonoMethodMessage. It is not needed now.
334         * MonoMethodMessage.cs: Now only has method call keys in the dictionary. 
335         * MethodReturnDictionary.cs, MethodCallDictionary.cs: Made public the list of 
336           method keys. This list is used in MessageFormatter.
337         * MethodDictionary.cs: Corrected some minor bugs.
338         * MethodCall.cs: minor correction on constructor.
339
340 2003-02-03 Patrik Torstensson
341
342         * MethodResponse.cs: Implemented
343         * MethodCall.cs: added support for Cross appdomain messages, implemented some
344         missing methods.
345         * MethodDictionary.cs: made serializible and added methods to get internal properties.
346         * MonoMethodMessage.cs: internal dictionary is now serializible
347         * ReturnMessage.cs: made serializible
348         * ErrorMessage.cs: typo fix
349         
350         * CADMessage.cs: new file, implements cross appdomain messages, both call and return. 
351         Princip of this classes is to move unmutable objects and primitivs between appdomains
352         without marshalling. This increase performance a lot of the cross appdomain channel.
353         
354 2003-01-29  Lluis Sanchez Gual <lluis@ideary.com>
355         
356         * ServerContextTerminatorSink.cs: now it forwards messages to the target identity,
357           which knows how to manage each type of service.
358         * StackBuilderSink.cs: added a reference to the target object.
359
360 2002-12-28  Patrik Torstensson
361
362         * RemotingSurrogateSelector.cs: Added serialization support for MBR's.
363         * RemotingSurrogate.cs: Moved ObjRefSurrogate and MBRSurrogate to new file.
364         * ErrorMessage.cs: Dummy used when an exception occours.
365         * MonoMethodMessage.cs: Added Serializable and support for be created with null methods
366
367 2002-12-26  Lluis Sanchez Gual <lluis@ideary.com>
368
369         * ReturnMessage.cs: Implemented property Properties
370         * RemotingSurrogateSelector.cs: Implemented serialization support for ObjRef.
371         * MonoMethodMessage.cs: Implemented Properties and MethodSignature properties.
372         * MethodReturnMessageWrapper.cs: Implemented.
373         * MethodCallMessageWrapper.cs: Implemented.
374         * MethodCall.cs: Implemented.
375         * Header.cs: Small corrections to make it work.
376         * MethodDictionary.cs: Added.
377         * MethodCallDictionary.cs: Added.
378         * MethodReturnDictionary.cs: Added.
379         * ArgInfo.cs: Added.
380
381 2002-12-20  Lluis Sanchez Gual <lluis@ideary.com>
382
383         * MonoMethodMessage.cs: Implemented property Uri
384
385 2002-12-20  Lluis Sanchez Gual <lluis@ideary.com>
386
387         * ServerContextTerminatorSink.cs: Added
388         * ServerObjectTerminatorSink.cs: Added
389         * StackBuilderSink.cs: Added
390
391 2002-12-10  Jaime Anguiano Olarra <jaime@gnome.org>
392
393         * CallContext.c: Added to the CVS.
394
395 2002-08-22  Nick Drochak  <ndrochak@gol.com>
396
397         * RemotingSurrogateSelector.cs (SetRootObject): Function should return
398         void, not object.
399
400 2002-08-03  Duncan Mak  <duncan@ximian.com>
401
402         * MethodCall.cs: 
403         * MethodResponse.cs: More visibility fixes. Hopefully this is the
404         last of it.
405
406 2002-08-02  Duncan Mak  <duncan@ximian.com>
407
408         * MethodCall.cs: 
409         * MethodCallMessageWrapper.cs: 
410         * MethodReturnMessageWrapper.cs: Various visibility fixes.
411
412         * RemotingSurrogateSelector.cs: Added, replaced RemoteSurrogateSelector.
413
414 2002-07-31  Duncan Mak  <duncan@ximian.com>
415         
416         * MethodCallMessageWrapper.cs:
417         * MethodReturnMessageWrapper.cs: Revert the last patch and made it
418         work. Thanks to Gonzalo for reminding me to chain the constructors.
419
420 2002-07-31  Duncan Mak  <duncan@ximian.com>
421
422         * MethodCallMessageWrapper.cs:
423         * MethodReturnMessageWrapper.cs: Remove reference to
424         InternalMessageWrapper. It's probably an MS private class, even
425         though it's visible in the documentation.
426
427 2002-07-31  Duncan Mak  <duncan@ximian.com>
428
429         * InternalMessageWrapper.cs: 
430         * MessageSurrogateFilter.cs: 
431         * MethodCall.cs: 
432         * MethodCallMessageWrapper.cs: 
433         * MethodResponse.cs: 
434         * MethodReturnMessageWrapper.cs: 
435
436         * RemoteSurrogateSelector.cs: Added to CVS. 
437
438         * MonoMethodMessage.cs: 
439         * ReturnMessage.cs: Add set in the Uri property.
440
441 2002-07-24  Duncan Mak  <duncan@ximian.com>
442
443         * OneWayAttribute.cs: Added to CVS.
444
445 2002-07-23  Duncan Mak  <duncan@ximian.com>
446
447         * HeaderHandler.cs: Added.
448
449         * IRemotingFormatter.cs: Added to CVS.
450
451         * IMethodMessage.cs: IMethodMessage inherits from IMessage.
452
453 Thu Apr 4 13:13:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
454
455         * IMethodReturnMessage.cs: added IMethodMessage, IMessage interfaces.
456         * ReturnMessage.cs: stubbed out Properties property.
457
458 2002-03-21  Dietmar Maurer  <dietmar@ximian.com>
459
460         * AsyncResult.cs: impl.
461
462 2002/03/04  Nick Drochak  <ndrochak@gol.com>
463
464         * Header.cs: Change properties into fields where they should be.