1 2006-12-25 Robert Jordan <robertj@gmx.net>
3 * MethodCall.cs: Add support for generic methods.
4 * MethodCall.cs (GetTypeNameFromAssemblyQualifiedName):
5 Add support for generic types.
6 * ReturnMessage.cs: Fix bug #80371.
8 2006-12-18 Lluis Sanchez Gual <lluis@novell.com>
10 * StackBuilderSink.cs: Avoid unneeded cast that was causing some
13 2006-12-01 Lluis Sanchez Gual <lluis@novell.com>
15 * ReturnMessage.cs: When creating an exception message, copy the call
16 context from the call message.
18 2006-08-04 Lluis Sanchez Gual <lluis@novell.com>
20 * MethodCall.cs, CADMessages.cs: Added missing unmarshalling case
21 for IntPtr. When getting the method from the CAD message,
22 check that the same declaring type is loaded in the target domain
23 from the same assembly. If it is not, get the correct type and
24 method for the domain.
26 2006-05-31 Zoltan Varga <vargaz@gmail.com>
28 * AsyncResult.cs: Add an 'object_data' field which has GC tracking.
30 * AsyncResult.cs: Revert the last change.
32 * AsyncResult.cs: Make 'data' field an object to allow GC tracking.
34 2006-02-06 Lluis Sanchez Gual <lluis@novell.com>
36 * LogicalCallContext.cs, MethodCall.cs, ReturnMessage.cs,
37 MethodResponse.cs: Create a new LogicalCallContext for
38 every message. Fixes #77364 again.
40 2006-01-31 Lluis Sanchez Gual <lluis@novell.com>
42 * LogicalCallContext.cs: Added shared empty call context.
43 * MethodCall.cs: Added better error checking and reporting in
44 the code that resolves methods.
46 * ReturnMessage.cs, MethodResponse.cs, MethodCall.cs: Never return null in
47 LogicalCallContext. If it's null, return an empty context. Based
48 on a patch by Dominic Ullmann that fixes bug #77364.
50 2005-06-22 Lluis Sanchez Gual <lluis@novell.com>
52 * MethodReturnMessageWrapper.cs: ArgCount now returns the count
53 from the internal arg array, since it may change.
54 * MonoMethodMessage.cs: Added NeedsOutProcessing helper method.
56 2005-05-31 Lluis Sanchez Gual <lluis@novell.com>
58 * ReturnMessage.cs: Added some null checks.
59 * MethodReturnMessageWrapper.cs: Added some null checks. Fixed
60 incorrect cast in the constructor.
62 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
64 * AsyncResult.cs: Added new fields (required for stack propagation) to
65 match runtime structure.
67 2005-05-09 Lluis Sanchez Gual <lluis@novell.com>
69 * MethodCall.cs: Fix warning.
71 2004-10-26 Lluis Sanchez Gual <lluis@novell.com>
73 * CallContext.cs: In CreateLogicalCallContext, added parameter which
74 specifies if an empty LogicalCallContext needs to be created if there are
77 2004-09-27 Lluis Sanchez Gual <lluis@novell.com>
79 * MethodCallMessageWrapper.cs: The wrapper has to modify the wrapped
81 * ReturnMessage.cs: Use TypeName instead of _typeName since now name is
84 2004-09-22 Lluis Sanchez Gual <lluis@novell.com>
86 * ConstructionCall.cs: Added a Proxy property (which is the proxy that
87 will reference the object being created).
88 * StackBuilderSink.cs: Take into account the forceInternalExecute
91 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
93 * CallContext.cs: Use [ThreadStatic], it is much faster than the
94 Thread.[Get/Set]Data functions
96 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
98 * CADMessages.cs: get rid of method / type name, it is not needed
99 * MethodCall.cs: lazily init method / type name.
100 * ReturnMessage.cs: lazily init method / type name, sig.
102 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
104 * CADMessages.cs, MethodCall.cs: When doing an x-appdomain
105 call, store the method in a RuntimeMethodHandle. This allows
106 us to avoid the expensive lookup operations that must be done
107 to resolve the method. This makes xsp go from 250 r/s to 450 r/s
110 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
112 * MethodCall.cs, CADMessages.cs: String.Copy (x) is the same
113 thing as new string (x.ToCharArray ()), however it involves
114 half the memory allocation
116 2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
118 * MethodCall.cs: Use RemotingServices.GetMethodBaseFromName to get the
119 MethodBase from the method name. This fixes bug #61774.
121 2004-06-18 Sebastien Pouliot <sebastien@ximian.com>
123 * ReturnMessage.cs: Added IMessage interface to class definition.
125 2004-06-17 Gert Driesen <drieseng@users.sourceforge.net>
127 * ReturnMessage.cs: remove serializable attribute to match MS.NET
129 2004-05-11 Lluis Sanchez Gual <lluis@ximian.com>
131 * MethodResponse.cs: Only get the MethodBase from type and method name when
134 2004-05-11 Lluis Sanchez Gual <lluis@ximian.com>
136 * MethodResponse.cs: In the serialization constructor, initialize MethodBase
137 using the method name and type name.
139 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
141 * MethodResponse.cs, ReturnMessage.cs: More null checks.
143 2004-04-30 Lluis Sanchez Gual <lluis@ximian.com>
145 * MethodResponse.cs, ReturnMessage.cs: Added null checks.
147 2004-04-29 Raja R Harinath <rharinath@novell.com>
149 * MethodResponse.cs (MethodResponse.OutArgCount)
150 (MethodResponse.GetOutArg): Make reference to _args null-safe.
152 2004-04-28 Lluis Sanchez Gual <lluis@ximian.com>
154 * CADMessages.cs: Revert last change. It was ok.
155 * MethodResponse.cs, ReturnMessage.cs: Handle output parameters in a
156 different way. The message is constructed from an array that has all
157 parameters, including input parameters (which will be set to null).
158 The Args property returns all arguments. OutArgs returns only the
159 output arguments, which are taken from the provided args list.
161 2004-04-26 Lluis Sanchez Gual <lluis@ximian.com>
163 * CADMessages.cs: Marshal the correct return args for the return message.
165 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
168 (AsyncWaitHandle): create the handle if not done yet.
170 2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
172 * AsyncResult.cs: Added async_callback field and fixed the callback call.
173 I thought that async_delegate was the callback, but it is not, it is the
174 delegate upon which the async call was invoked. This fixes bug #53020.
175 * StackBuilderSink.cs: If the target object is a proxy, make the call
176 using the Invoke method of the real proxy.
178 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
180 * ConstructionResponse.cs: Added constructor for exception response.
182 2003-12-22 Lluis Sanchez Gual <lluis@ximian.com>
184 * MethodCall.cs: Do not try to resolve the method in the serialization
185 constructor, since the type array may not be yet completely deserialized.
186 This fixes bug #52426.
188 2003-12-10 Lluis Sanchez Gual <lluis@ximian.com>
190 * AsyncResult.cs: Call delegate on async call completion.
191 * CADMessages.cs: Removed TODO.
193 2003-11-28 Dick Porter <dick@ximian.com>
195 * MethodCall.cs: Use the char form of IndexOf, so that the
196 comparison is done with the Invariant culture.
198 2003-11-26 Lluis Sanchez Gual <lluis@ximian.com>
200 * MethodCall.cs, MethodResponse.cs, ReturnMessage.cs: Implemented
203 2003-11-25 Lluis Sanchez Gual <lluis@ximian.com>
205 * AsyncResult.cs, CallContext.cs: Added private constructor.
206 * ReturnMessage.cs: Added parameter array length check.
208 2003-11-18 Lluis Sanchez Gual <lluis@ximian.com>
210 * ArgInfo.cs, ClientContextTerminatorSink.cs, ErrorMessage.cs, MethodCall.cs,
211 MethodResponse.cs, MonoMethodMessage.cs, ServerContextTerminatorSink.cs,
212 StackBuilderSink.cs: Fixed class visibility.
213 * CADMessages.cs: Added null reference check in SaveLogicalCallContext.
214 * ISerializationRootObject.cs: Added.
216 2003-11-17 Lluis Sanchez Gual <lluis@ximian.com>
218 * StackBuilderSink.cs: Implemented AsyncProcessMessage().
220 2003-11-16 Lluis Sanchez Gual <lluis@ximian.com>
222 * CADMessages.cs: Added methods for setting and getting the logical call
224 * ConstructionCall.cs: Fixed signature of some methods.
225 * ConstructionResponse.cs: Fixed signature of constructor and added missing
227 * LogicalCallContext.cs: Removed TODO.
228 * MethodCall.cs, MethodResponse.cs: Added support for LogicalCallContext in
230 * MethodReturnMessageWrapper.cs: Removed some unneded methods.
232 2003-11-11 Lluis Sanchez Gual <lluis@ximian.com>
234 * ConstructionCall.cs, ReturnMessage.cs: minor fixes.
236 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
238 * MethodCall.cs: In the constructor that takes a CADMethodCallMessage
239 object, make sure strings are not reused across domains.
241 2003-10-08 Lluis Sanchez Gual <lluis@ximian.com>
243 * CADMessages.cs: added smuggeling argument support for some instances
244 of MarshalByRefObject. This should make the cross-appdomain channel
245 even faster. Some other minor fixes.
247 2003-10-07 Lluis Sanchez Gual <lluis@ximian.com>
249 * CADMessages.cs: improved argument smuggeling. Now it supports strings,
250 datetime and arrays of primitive types. This makes CAD much faster.
251 * AsyncResult.cs: Added property to store the call message.
253 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
255 * ArgInfo.cs: Include parameters with the Out flag in the out parameters list.
256 * CallContext.cs: SetCurrentCallContext now returns the old context, so it
257 can be later restored with new new method RestoreCallContext().
258 * ReturnMessage.cs: Some fixes in the way the class deals with output parameters,
259 to match MS.NET behavior.
261 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
263 * MonoMethodMessage.cs: Moved CallType into namespace declaration.
265 2003-08-25 Lluis Sanchez Gual <lluis@ximian.com>
267 * AsyncResult.cs: Added method EndInvoke(). Fixed SyncProcessMessage().
268 * CallContext.cs: Clean current logical context before setting the new
269 values form LogicalCallContext (SetCurrentCallContext).
270 * MonoMethodMessage.cs: Added new CallType field and enum.
271 * StackBuilderSink.cs: Improved error message.
273 2003-08-20 Lluis Sanchez Gual <lluis@ximian.com>
275 * MethodCall.cs: Changed exception text to match MS.NET (more or less).
276 * AsyncResult.cs: Added new fields to store async calls results.
278 2003-08-17 Lluis Sanchez Gual <lluis@ximian.com>
280 * MethodCall.cs: Throw the right exception if the target object is not
281 found when resolving the target method.
283 2003-08-17 Lluis Sanchez Gual <lluis@ximian.com>
285 * CallContext.cs: Fixed bug #47686.
287 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
289 * CADMessages.cs: Enabled smuggeling of primitive type parameters (as suggested
291 * CallContext.cs: Impplemented.
292 * LogicalCallContext.cs: Implemented.
293 * MonoMethodMessage.cs: Added setter for LogicalCallContext property.
295 2003-07-25 Lluis Sanchez Gual <lluis@ximian.com>
297 * ArgInfo.cs: Use Type.IsByRef to check if a parameter is a ref or
299 * MethodCall.cs: Improved checking if the requested client type for the target
300 object can be casted to the server type. Now not only checks type name,
301 but also the type hierarchy and implemented interfaces. Also implemented
303 * MethodResponse.cs: Imlemented ToString().
304 * ReturnMessage.cs: In the exception constructor, allow the request to be null.
305 Implemented ToString().
306 * StackBuilderSink.cs: Check type of parameters before calling the target method.
307 (a wrong type would make the runtime to crash).
309 2003-07-23 Lluis Sanchez Gual <lluis@ximian.com>
311 * MethodDictionary.cs: Fixed Add method. If the property is method
312 property, then there is no need it to the internal properties table.
314 2003-07-21 Lluis Sanchez Gual <lluis@ximian.com>
316 * MethodCall.cs: Fixed copy constructor, when the message to copy does not
317 implement IMethodMessage.
319 2003-07-09 Jean-Marc André <jean-marc.andre@polymtl.ca>
321 * ReturnMessage.cs: Bug fix. GetOutArgName didn't return the right Name for the given out parameter.
323 2003-05-13 Lluis Sanchez Gual <lluis@ideary.com>
325 * MethodCall.cs: ResolveMethod now uses the type of the target object (identified
326 by the uri) instead of the type specified by TypeName (only if both types have
329 2003-04-10 Lluis Sanchez Gual <lluis@ideary.com>
331 * AsyncResult.cs: implemented some methods.
332 * ClientContextTerminatorSink.cs: Improved support for Async and OneWay messages.
333 * MonoMethodMessage.cs: Added member needed to support Async messages.
334 * ServerObjectTerminatorSink.cs: Improved support for Async and OneWay messages.
336 2003-03-21 Lluis Sanchez Gual <lluis@ideary.com>
338 * CADMessages.cs: removed some warnings.
339 * ClientContextTerminatorSink.cs: added support for dynamic sinks.
340 * ConstructionCall.cs: added internal property IsContextOK.
341 * MethodResponse.cs: fixed management of output parameters.
342 * ServerObjectTerminatorSink.cs: added support for dynamic sinks.
344 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
346 * ConstructionCall.cs: Added internal constructor. Added setter for activation attributes.
347 Some other minor corrections.
348 * EnvoyTerminatorSink.cs: Message now redirected to current context's client sink chain.
349 * MethodCall.cs: Added method for copying messages.
351 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
354 (MethodBase): resolve the method if it's not already done.
356 2003-02-18 Lluis Sanchez Gual <lluis@ideary.com>
358 * IInternalMessage.cs: Added. Provides some useful methods for method messages.
359 * ServerContextTerminatorSink.cs: Added support for construction messages.
360 * MethodCall.cs: Implemented serialization support. Added support for IInternalMessage.
361 * MethodDictionary.cs: Added support for IInternalMessage.
362 * MethodResponse.cs: Added serialization support. Added support for IInternalMessage.
363 * MonoMethodMessage.cs: Added support for IInternalMessage.
364 * ReturnMessage.cs: Added support for IInternalMessage.
365 * ClientContextTerminatorSink.cs: Added.
366 * ConstructionCall.cs: Added.
367 * ConstructionCallDictionary.cs: Added.
368 * ConstructionResponse.cs: Added.
369 * EnvoyTerminatorSink.cs: Added.
371 2003-02-07 Patrik Torstensson
373 * CADMessages.cs: Disable smuggeling of objects cross domain, still issues casing remoting
374 to fail. (fixed formating)
376 2003-02-07 Lluis Sanchez Gual <lluis@ideary.com>
378 * CADMessages.cs: Some minor changes that allow reuse of ObjRef methods.
380 2003-02-05 Lluis Sanchez Gual <lluis@ideary.com>
382 * ReturnMessage.cs, MethodResponse.cs: OutArgs initialized to an empty array
383 when the the message returns an exception.
385 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
387 * ServerContextTerminatorSink.cs: Modified to work with new types of identities.
388 * ReturnMessage.cs: Removed internal dependence to MonoMethodMessage. It is not needed now.
389 * MonoMethodMessage.cs: Now only has method call keys in the dictionary.
390 * MethodReturnDictionary.cs, MethodCallDictionary.cs: Made public the list of
391 method keys. This list is used in MessageFormatter.
392 * MethodDictionary.cs: Corrected some minor bugs.
393 * MethodCall.cs: minor correction on constructor.
395 2003-02-03 Patrik Torstensson
397 * MethodResponse.cs: Implemented
398 * MethodCall.cs: added support for Cross appdomain messages, implemented some
400 * MethodDictionary.cs: made serializible and added methods to get internal properties.
401 * MonoMethodMessage.cs: internal dictionary is now serializible
402 * ReturnMessage.cs: made serializible
403 * ErrorMessage.cs: typo fix
405 * CADMessage.cs: new file, implements cross appdomain messages, both call and return.
406 Princip of this classes is to move unmutable objects and primitivs between appdomains
407 without marshalling. This increase performance a lot of the cross appdomain channel.
409 2003-01-29 Lluis Sanchez Gual <lluis@ideary.com>
411 * ServerContextTerminatorSink.cs: now it forwards messages to the target identity,
412 which knows how to manage each type of service.
413 * StackBuilderSink.cs: added a reference to the target object.
415 2002-12-28 Patrik Torstensson
417 * RemotingSurrogateSelector.cs: Added serialization support for MBR's.
418 * RemotingSurrogate.cs: Moved ObjRefSurrogate and MBRSurrogate to new file.
419 * ErrorMessage.cs: Dummy used when an exception occours.
420 * MonoMethodMessage.cs: Added Serializable and support for be created with null methods
422 2002-12-26 Lluis Sanchez Gual <lluis@ideary.com>
424 * ReturnMessage.cs: Implemented property Properties
425 * RemotingSurrogateSelector.cs: Implemented serialization support for ObjRef.
426 * MonoMethodMessage.cs: Implemented Properties and MethodSignature properties.
427 * MethodReturnMessageWrapper.cs: Implemented.
428 * MethodCallMessageWrapper.cs: Implemented.
429 * MethodCall.cs: Implemented.
430 * Header.cs: Small corrections to make it work.
431 * MethodDictionary.cs: Added.
432 * MethodCallDictionary.cs: Added.
433 * MethodReturnDictionary.cs: Added.
436 2002-12-20 Lluis Sanchez Gual <lluis@ideary.com>
438 * MonoMethodMessage.cs: Implemented property Uri
440 2002-12-20 Lluis Sanchez Gual <lluis@ideary.com>
442 * ServerContextTerminatorSink.cs: Added
443 * ServerObjectTerminatorSink.cs: Added
444 * StackBuilderSink.cs: Added
446 2002-12-10 Jaime Anguiano Olarra <jaime@gnome.org>
448 * CallContext.c: Added to the CVS.
450 2002-08-22 Nick Drochak <ndrochak@gol.com>
452 * RemotingSurrogateSelector.cs (SetRootObject): Function should return
455 2002-08-03 Duncan Mak <duncan@ximian.com>
458 * MethodResponse.cs: More visibility fixes. Hopefully this is the
461 2002-08-02 Duncan Mak <duncan@ximian.com>
464 * MethodCallMessageWrapper.cs:
465 * MethodReturnMessageWrapper.cs: Various visibility fixes.
467 * RemotingSurrogateSelector.cs: Added, replaced RemoteSurrogateSelector.
469 2002-07-31 Duncan Mak <duncan@ximian.com>
471 * MethodCallMessageWrapper.cs:
472 * MethodReturnMessageWrapper.cs: Revert the last patch and made it
473 work. Thanks to Gonzalo for reminding me to chain the constructors.
475 2002-07-31 Duncan Mak <duncan@ximian.com>
477 * MethodCallMessageWrapper.cs:
478 * MethodReturnMessageWrapper.cs: Remove reference to
479 InternalMessageWrapper. It's probably an MS private class, even
480 though it's visible in the documentation.
482 2002-07-31 Duncan Mak <duncan@ximian.com>
484 * InternalMessageWrapper.cs:
485 * MessageSurrogateFilter.cs:
487 * MethodCallMessageWrapper.cs:
489 * MethodReturnMessageWrapper.cs:
491 * RemoteSurrogateSelector.cs: Added to CVS.
493 * MonoMethodMessage.cs:
494 * ReturnMessage.cs: Add set in the Uri property.
496 2002-07-24 Duncan Mak <duncan@ximian.com>
498 * OneWayAttribute.cs: Added to CVS.
500 2002-07-23 Duncan Mak <duncan@ximian.com>
502 * HeaderHandler.cs: Added.
504 * IRemotingFormatter.cs: Added to CVS.
506 * IMethodMessage.cs: IMethodMessage inherits from IMessage.
508 Thu Apr 4 13:13:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
510 * IMethodReturnMessage.cs: added IMethodMessage, IMessage interfaces.
511 * ReturnMessage.cs: stubbed out Properties property.
513 2002-03-21 Dietmar Maurer <dietmar@ximian.com>
515 * AsyncResult.cs: impl.
517 2002/03/04 Nick Drochak <ndrochak@gol.com>
519 * Header.cs: Change properties into fields where they should be.