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