2005-05-31 Lluis Sanchez Gual <lluis@novell.com>
[mono.git] / mcs / class / corlib / System.Runtime.Remoting.Messaging / ChangeLog
index d3ff2f8d98042140444fa2b5e6ec497e7a8e9a8b..95035f78c51629c38323606bc004797fe1c121a8 100644 (file)
@@ -1,3 +1,291 @@
+2005-05-31  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * ReturnMessage.cs: Added some null checks.
+       * MethodReturnMessageWrapper.cs: Added some null checks. Fixed
+       incorrect cast in the constructor.
+
+2005-05-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * AsyncResult.cs: Added new fields (required for stack propagation) to
+       match runtime structure.
+
+2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * MethodCall.cs: Fix warning.
+
+2004-10-26  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * CallContext.cs: In CreateLogicalCallContext, added parameter which
+       specifies if an empty LogicalCallContext needs to be created if there are
+       no context values.
+
+2004-09-27  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * MethodCallMessageWrapper.cs: The wrapper has to modify the wrapped
+         message. MS does it.
+       * ReturnMessage.cs: Use TypeName instead of _typeName since now name is
+         lazely constructed.
+
+2004-09-22  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * ConstructionCall.cs: Added a Proxy property (which is the proxy that
+         will reference the object being created).
+       * StackBuilderSink.cs: Take into account the forceInternalExecute
+         parameter.
+
+2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * CallContext.cs: Use [ThreadStatic], it is much faster than the
+       Thread.[Get/Set]Data functions
+
+2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * CADMessages.cs: get rid of method / type name, it is not needed
+       * MethodCall.cs: lazily init method / type name.
+       * ReturnMessage.cs: lazily init method / type name, sig.
+
+2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * CADMessages.cs, MethodCall.cs: When doing an x-appdomain
+       call, store the method in a RuntimeMethodHandle. This allows
+       us to avoid the expensive lookup operations that must be done
+       to resolve the method. This makes xsp go from 250 r/s to 450 r/s
+       for me.
+
+2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * MethodCall.cs, CADMessages.cs: String.Copy (x) is the same
+       thing as new string (x.ToCharArray ()), however it involves
+       half the memory allocation
+
+2004-07-22  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * MethodCall.cs: Use RemotingServices.GetMethodBaseFromName to get the
+         MethodBase from the method name. This fixes bug #61774.
+
+2004-06-18  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ReturnMessage.cs: Added IMessage interface to class definition.
+
+2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * ReturnMessage.cs: remove serializable attribute to match MS.NET
+
+2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MethodResponse.cs: Only get the MethodBase from type and method name when
+         requested.
+
+2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MethodResponse.cs: In the serialization constructor, initialize MethodBase
+         using the method name and type name.
+
+2004-05-03  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MethodResponse.cs, ReturnMessage.cs: More null checks.
+
+2004-04-30  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MethodResponse.cs, ReturnMessage.cs: Added null checks.
+
+2004-04-29  Raja R Harinath  <rharinath@novell.com>
+
+       * MethodResponse.cs (MethodResponse.OutArgCount)
+       (MethodResponse.GetOutArg): Make reference to _args null-safe.
+
+2004-04-28  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * CADMessages.cs: Revert last change. It was ok.
+       * MethodResponse.cs, ReturnMessage.cs: Handle output parameters in a
+         different way. The message is constructed from an array that has all
+         parameters, including input parameters (which will be set to null).
+         The Args property returns all arguments. OutArgs returns only the
+         output arguments, which are taken from the provided args list.
+       
+2004-04-26  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * CADMessages.cs: Marshal the correct return args for the return message.
+
+2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AsyncResult.cs:
+       (AsyncWaitHandle): create the handle if not done yet.
+
+2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * AsyncResult.cs: Added async_callback field and fixed the callback call.
+       I thought that async_delegate was the callback, but it is not, it is the
+       delegate upon which the async call was invoked. This fixes bug #53020.
+       * StackBuilderSink.cs: If the target object is a proxy, make the call
+       using the Invoke method of the real proxy.
+
+2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * ConstructionResponse.cs: Added constructor for exception response.
+
+2003-12-22  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MethodCall.cs: Do not try to resolve the method in the serialization
+         constructor, since the type array may not be yet completely deserialized.
+         This fixes bug #52426.
+
+2003-12-10  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * AsyncResult.cs: Call delegate on async call completion.
+       * CADMessages.cs: Removed TODO.
+
+2003-11-28  Dick Porter  <dick@ximian.com>
+
+       * MethodCall.cs: Use the char form of IndexOf, so that the
+       comparison is done with the Invariant culture.
+
+2003-11-26  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * MethodCall.cs, MethodResponse.cs, ReturnMessage.cs: Implemented
+         HasVarArgs property.
+
+2003-11-25  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * AsyncResult.cs, CallContext.cs: Added private constructor.
+       * ReturnMessage.cs: Added parameter array length check.
+
+2003-11-18  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * ArgInfo.cs, ClientContextTerminatorSink.cs, ErrorMessage.cs, MethodCall.cs,
+         MethodResponse.cs, MonoMethodMessage.cs, ServerContextTerminatorSink.cs,
+         StackBuilderSink.cs: Fixed class visibility.
+       * CADMessages.cs: Added null reference check in SaveLogicalCallContext.
+       * ISerializationRootObject.cs: Added.
+
+2003-11-17  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * StackBuilderSink.cs: Implemented AsyncProcessMessage().
+       
+2003-11-16  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * CADMessages.cs: Added methods for setting and getting the logical call
+         context.
+       * ConstructionCall.cs: Fixed signature of some methods.
+       * ConstructionResponse.cs: Fixed signature of constructor and added missing
+         property.
+       * LogicalCallContext.cs: Removed TODO.
+       * MethodCall.cs, MethodResponse.cs: Added support for LogicalCallContext in
+         consturctor.
+       * MethodReturnMessageWrapper.cs: Removed some unneded methods.
+
+2003-11-11  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * ConstructionCall.cs, ReturnMessage.cs: minor fixes.
+
+2003-10-23  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MethodCall.cs: In the constructor that takes a CADMethodCallMessage
+         object, make sure strings are not reused across domains.
+
+2003-10-08  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * CADMessages.cs: added smuggeling argument support for some instances
+         of MarshalByRefObject. This should make the cross-appdomain channel 
+         even faster. Some other minor fixes.
+
+2003-10-07  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * CADMessages.cs: improved argument smuggeling. Now it supports strings,
+         datetime and arrays of primitive types. This makes CAD much faster.
+       * AsyncResult.cs: Added property to store the call message.
+
+2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * ArgInfo.cs: Include parameters with the Out flag in the out parameters list.
+       * CallContext.cs: SetCurrentCallContext now returns the old context, so it
+         can be later restored with new new method RestoreCallContext().
+       * ReturnMessage.cs: Some fixes in the way the class deals with output parameters,
+         to match MS.NET behavior.
+
+2003-08-28  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * MonoMethodMessage.cs: Moved CallType into namespace declaration.
+
+2003-08-25  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * AsyncResult.cs: Added method EndInvoke(). Fixed SyncProcessMessage().
+       * CallContext.cs: Clean current logical context before setting the new
+         values form LogicalCallContext (SetCurrentCallContext).
+       * MonoMethodMessage.cs: Added new CallType field and enum.
+       * StackBuilderSink.cs: Improved error message.
+
+2003-08-20  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * MethodCall.cs: Changed exception text to match MS.NET (more or less).
+       * AsyncResult.cs: Added new fields to store async calls results.
+
+2003-08-17  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * MethodCall.cs: Throw the right exception if the target object is not
+         found when resolving the target method.
+
+2003-08-17  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * CallContext.cs: Fixed bug #47686.
+
+2003-08-14  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * CADMessages.cs: Enabled smuggeling of primitive type parameters (as suggested
+         by Patrik).
+       * CallContext.cs: Impplemented.
+       * LogicalCallContext.cs: Implemented.
+       * MonoMethodMessage.cs: Added setter for LogicalCallContext property.
+
+2003-07-25  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * ArgInfo.cs: Use Type.IsByRef to check if a parameter is a ref or
+         out parameter.
+       * MethodCall.cs: Improved checking if the requested client type for the target
+         object can be casted to the server type. Now not only checks type name,
+         but also the type hierarchy and implemented interfaces. Also implemented
+         method ToString().
+       * MethodResponse.cs: Imlemented ToString().
+       * ReturnMessage.cs: In the exception constructor, allow the request to be null.
+         Implemented ToString().
+       * StackBuilderSink.cs: Check type of parameters before calling the target method.
+         (a wrong type would make the runtime to crash).
+
+2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * MethodDictionary.cs: Fixed Add method. If the property is method
+         property, then there is no need it to the internal properties table.
+
+2003-07-21  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * MethodCall.cs: Fixed copy constructor, when the message to copy does not
+         implement IMethodMessage.
+
+2003-07-09  Jean-Marc AndrĂ© <jean-marc.andre@polymtl.ca>
+
+       * ReturnMessage.cs: Bug fix. GetOutArgName didn't return the right Name for the given out parameter.
+
+2003-05-13  Lluis Sanchez Gual <lluis@ideary.com>
+       
+       * MethodCall.cs: ResolveMethod now uses the type of the target object (identified
+         by the uri) instead of the type specified by TypeName (only if both types have
+         the same name).
+
+2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
+       
+       * AsyncResult.cs: implemented some methods.
+       * ClientContextTerminatorSink.cs: Improved support for Async and OneWay messages.
+       * MonoMethodMessage.cs: Added member needed to support Async messages.
+       * ServerObjectTerminatorSink.cs: Improved support for Async and OneWay messages.
+
+2003-03-21  Lluis Sanchez Gual <lluis@ideary.com>
+       
+       * CADMessages.cs: removed some warnings.
+       * ClientContextTerminatorSink.cs: added support for dynamic sinks.
+       * ConstructionCall.cs: added internal property IsContextOK.
+       * MethodResponse.cs: fixed management of output parameters.
+       * ServerObjectTerminatorSink.cs: added support for dynamic sinks.
+
 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
 
        * ConstructionCall.cs: Added internal constructor. Added setter for activation attributes.