2008-11-10 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* CADMessages.cs: when the method is generic, return a constructed
	method instead of the generic one. Fixes regression in
	System.Runtime.Remoting.GenericTest::TestCrossAppDomainChannel.

2008-07-06  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>

	* MethodCallMessageWrapper.cs: Fix signatures

2008-07-06  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>

	* IRemotingFormatter.cs: Fix parameter name
	* MethodCallMessageWrapper.cs: Remove excess public members

2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* ReturnMessage.cs:
	* MethodResponse.cs:
	* MethodCall.cs:
	* IRemotingFormatter.cs:
	* IMethodReturnMessage.cs:
	* IMethodMessage.cs:
	* IMethodCallMessage.cs:
	* ConstructionResponse.cs:
	* ConstructionCall.cs: Fix parameter name
	* Header.cs: Ouch!

2007-12-04  Robert Jordan  <robertj@gmx.net>

	* MethodCall.cs (ResolveMethod): Handle server objects registered
	with RemotingServices.Marshal (obj, typeof (ISomeInterface)).
	Fixes #324232. Test case: /trunk/gert/standalone/bug82302/.

2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>

	* CallContext.cs : added missing 2.0 stuff.

2007-10-30  Robert Jordan  <robertj@gmx.net>

	* MethodCall.cs (ResolveMethod): Lookup the interface
	using RemotingServices.GetVirtualMethod (). Eliminates
	the costly GetMethodBaseFromName () call.

2007-09-07   Robert Jordan  <robertj@gmx.net>

	* MethodCall (ResolveMethod): Handle generic methods in the
	code that was introduced as a fix for #82240.
	Fixes #81554.

2007-09-06  Atsushi Enomoto  <atsushi@ximian.com>

	* LogicalCallContext.cs, MethodCall.cs, MethodCallMessageWrapper.cs,
	  IMethodMessage.cs, ReturnMessage.cs, MethodResponse.cs
	  MethodReturnMessageWrapper.cs : couple more of (2.0/1.1) API fixes.

2007-08-15  Atsushi Enomoto  <atsushi@ximian.com>

	* LogicalCallContext.cs IMethodMessage.cs CallContext.cs :
	  [ComVisible].

2007-07-30  Lluis Sanchez Gual  <lluis@novell.com>

	* MethodCall.cs (ResolveMethod): If the method is implemented 
	in an interface, look for the method implementation. Fix for bxc #82240

2007-02-05  Robert Jordan  <robertj@gmx.net>

	* MethodCall.cs (ResolveMethod): Actually use the type returned
	by CastTo (). Fixes bug #77191.

2006-12-25  Robert Jordan  <robertj@gmx.net>

	* MethodCall.cs: Add support for generic methods.
	* MethodCall.cs (GetTypeNameFromAssemblyQualifiedName):
	Add support for generic types.
	* ReturnMessage.cs: Fix bug #80371.

2006-12-18  Lluis Sanchez Gual <lluis@novell.com> 

	* StackBuilderSink.cs: Avoid unneeded cast that was causing some
	  cast exceptions.

2006-12-01  Lluis Sanchez Gual <lluis@novell.com> 

	* ReturnMessage.cs: When creating an exception message, copy the call
	  context from the call message.

2006-08-04  Lluis Sanchez Gual  <lluis@novell.com>

	* MethodCall.cs, CADMessages.cs: Added missing unmarshalling case
	  for IntPtr. When getting the method from the CAD message,
	  check that the same declaring type is loaded in the target domain
	  from the same assembly. If it is not, get the correct type and
	  method for the domain.

2006-05-31  Zoltan Varga  <vargaz@gmail.com>

	* AsyncResult.cs: Add an 'object_data' field which has GC tracking.
	
	* AsyncResult.cs: Revert the last change.
	
	* AsyncResult.cs: Make 'data' field an object to allow GC tracking.

2006-02-06  Lluis Sanchez Gual  <lluis@novell.com>

	* LogicalCallContext.cs, MethodCall.cs, ReturnMessage.cs,
	  MethodResponse.cs: Create a new LogicalCallContext for
	  every message. Fixes #77364 again.

2006-01-31  Lluis Sanchez Gual  <lluis@novell.com>

	* LogicalCallContext.cs: Added shared empty call context.
	* MethodCall.cs: Added better error checking and reporting in
	the code that resolves methods.
	
	* ReturnMessage.cs, MethodResponse.cs, MethodCall.cs: Never return null in 
	LogicalCallContext. If it's null, return an empty context. Based
	on a patch by Dominic Ullmann that fixes bug #77364.

2005-06-22  Lluis Sanchez Gual  <lluis@novell.com>

	* MethodReturnMessageWrapper.cs: ArgCount now returns the count
	from the internal arg array, since it may change.
	* MonoMethodMessage.cs: Added NeedsOutProcessing helper method.

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.
	  Some other minor corrections.
	* EnvoyTerminatorSink.cs: Message now redirected to current context's client sink chain.
	* MethodCall.cs: Added method for copying messages.

2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* MethodCall.cs:
	(MethodBase): resolve the method if it's not already done.

2003-02-18  Lluis Sanchez Gual <lluis@ideary.com>

	* IInternalMessage.cs: Added. Provides some useful methods for method messages.
	* ServerContextTerminatorSink.cs: Added support for construction messages.
	* MethodCall.cs: Implemented serialization support. Added support for IInternalMessage.
	* MethodDictionary.cs: Added support for IInternalMessage.
	* MethodResponse.cs: Added serialization support. Added support for IInternalMessage.
	* MonoMethodMessage.cs: Added support for IInternalMessage.
	* ReturnMessage.cs: Added support for IInternalMessage.
	* ClientContextTerminatorSink.cs: Added.
	* ConstructionCall.cs: Added.
	* ConstructionCallDictionary.cs: Added.
	* ConstructionResponse.cs: Added.
	* EnvoyTerminatorSink.cs: Added.
	
2003-02-07  Patrik Torstensson

	* CADMessages.cs: Disable smuggeling of objects cross domain, still issues casing remoting
	  to fail. (fixed formating)

2003-02-07  Lluis Sanchez Gual <lluis@ideary.com>

	* CADMessages.cs: Some minor changes that allow reuse of ObjRef methods.
	
2003-02-05  Lluis Sanchez Gual <lluis@ideary.com>
	
	* ReturnMessage.cs, MethodResponse.cs: OutArgs initialized to an empty array
	  when the the message returns an exception.

2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
	
	* ServerContextTerminatorSink.cs: Modified to work with new types of identities.
	* ReturnMessage.cs: Removed internal dependence to MonoMethodMessage. It is not needed now.
	* MonoMethodMessage.cs: Now only has method call keys in the dictionary. 
	* MethodReturnDictionary.cs, MethodCallDictionary.cs: Made public the list of 
	  method keys. This list is used in MessageFormatter.
	* MethodDictionary.cs: Corrected some minor bugs.
	* MethodCall.cs: minor correction on constructor.

2003-02-03 Patrik Torstensson

	* MethodResponse.cs: Implemented
	* MethodCall.cs: added support for Cross appdomain messages, implemented some
	missing methods.
	* MethodDictionary.cs: made serializible and added methods to get internal properties.
	* MonoMethodMessage.cs: internal dictionary is now serializible
	* ReturnMessage.cs: made serializible
	* ErrorMessage.cs: typo fix
	
	* CADMessage.cs: new file, implements cross appdomain messages, both call and return. 
	Princip of this classes is to move unmutable objects and primitivs between appdomains
	without marshalling. This increase performance a lot of the cross appdomain channel.
	
2003-01-29  Lluis Sanchez Gual <lluis@ideary.com>
	
	* ServerContextTerminatorSink.cs: now it forwards messages to the target identity,
	  which knows how to manage each type of service.
	* StackBuilderSink.cs: added a reference to the target object.

2002-12-28  Patrik Torstensson

	* RemotingSurrogateSelector.cs: Added serialization support for MBR's.
	* RemotingSurrogate.cs: Moved ObjRefSurrogate and MBRSurrogate to new file.
	* ErrorMessage.cs: Dummy used when an exception occours.
	* MonoMethodMessage.cs: Added Serializable and support for be created with null methods

2002-12-26  Lluis Sanchez Gual <lluis@ideary.com>

	* ReturnMessage.cs: Implemented property Properties
	* RemotingSurrogateSelector.cs: Implemented serialization support for ObjRef.
	* MonoMethodMessage.cs: Implemented Properties and MethodSignature properties.
	* MethodReturnMessageWrapper.cs: Implemented.
	* MethodCallMessageWrapper.cs: Implemented.
	* MethodCall.cs: Implemented.
	* Header.cs: Small corrections to make it work.
	* MethodDictionary.cs: Added.
	* MethodCallDictionary.cs: Added.
	* MethodReturnDictionary.cs: Added.
	* ArgInfo.cs: Added.

2002-12-20  Lluis Sanchez Gual <lluis@ideary.com>

	* MonoMethodMessage.cs: Implemented property Uri

2002-12-20  Lluis Sanchez Gual <lluis@ideary.com>

	* ServerContextTerminatorSink.cs: Added
	* ServerObjectTerminatorSink.cs: Added
	* StackBuilderSink.cs: Added

2002-12-10  Jaime Anguiano Olarra <jaime@gnome.org>

	* CallContext.c: Added to the CVS.

2002-08-22  Nick Drochak  <ndrochak@gol.com>

	* RemotingSurrogateSelector.cs (SetRootObject): Function should return
	void, not object.

2002-08-03  Duncan Mak  <duncan@ximian.com>

	* MethodCall.cs: 
	* MethodResponse.cs: More visibility fixes. Hopefully this is the
	last of it.

2002-08-02  Duncan Mak  <duncan@ximian.com>

	* MethodCall.cs: 
	* MethodCallMessageWrapper.cs: 
	* MethodReturnMessageWrapper.cs: Various visibility fixes.

	* RemotingSurrogateSelector.cs: Added, replaced RemoteSurrogateSelector.

2002-07-31  Duncan Mak  <duncan@ximian.com>
	
	* MethodCallMessageWrapper.cs:
	* MethodReturnMessageWrapper.cs: Revert the last patch and made it
	work. Thanks to Gonzalo for reminding me to chain the constructors.

2002-07-31  Duncan Mak  <duncan@ximian.com>

	* MethodCallMessageWrapper.cs:
	* MethodReturnMessageWrapper.cs: Remove reference to
	InternalMessageWrapper. It's probably an MS private class, even
	though it's visible in the documentation.

2002-07-31  Duncan Mak  <duncan@ximian.com>

	* InternalMessageWrapper.cs: 
	* MessageSurrogateFilter.cs: 
	* MethodCall.cs: 
	* MethodCallMessageWrapper.cs: 
	* MethodResponse.cs: 
	* MethodReturnMessageWrapper.cs: 

	* RemoteSurrogateSelector.cs: Added to CVS. 

	* MonoMethodMessage.cs: 
	* ReturnMessage.cs: Add set in the Uri property.

2002-07-24  Duncan Mak  <duncan@ximian.com>

	* OneWayAttribute.cs: Added to CVS.

2002-07-23  Duncan Mak  <duncan@ximian.com>

	* HeaderHandler.cs: Added.

	* IRemotingFormatter.cs: Added to CVS.

	* IMethodMessage.cs: IMethodMessage inherits from IMessage.

Thu Apr 4 13:13:20 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* IMethodReturnMessage.cs: added IMethodMessage, IMessage interfaces.
	* ReturnMessage.cs: stubbed out Properties property.

2002-03-21  Dietmar Maurer  <dietmar@ximian.com>

	* AsyncResult.cs: impl.

2002/03/04  Nick Drochak  <ndrochak@gol.com>

	* Header.cs: Change properties into fields where they should be.
