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