* ObjRef.cs: Renamed ChannelInfoStore to ChannelInfo (match MS.NET)
authorLluis Sanchez <lluis@novell.com>
Thu, 10 Apr 2003 16:26:53 +0000 (16:26 -0000)
committerLluis Sanchez <lluis@novell.com>
Thu, 10 Apr 2003 16:26:53 +0000 (16:26 -0000)
* RemotingServices.cs: Added method to help support Async messages.
* RemotingConfiguration.cs: Implemented property ProcessID.

svn path=/trunk/mcs/; revision=13476

mcs/class/corlib/System.Runtime.Remoting/ChangeLog
mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs
mcs/class/corlib/System.Runtime.Remoting/RemotingConfiguration.cs
mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs

index 5da045a1ce6921726a00da3b19255dcbc4224dfa..164c92120d92a168407d49c05dc3665ebd336238 100755 (executable)
@@ -1,3 +1,9 @@
+2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
+
+       * ObjRef.cs: Renamed ChannelInfoStore to ChannelInfo (match MS.NET)
+       * RemotingServices.cs: Added method to help support Async messages.
+       * RemotingConfiguration.cs: Implemented property ProcessID.
+
 2003-03-24  Lluis Sanchez Gual <lluis@ideary.com>
 
        * RemotingServices.cs: Fixed bug #39915
index 5f43e1ca3348e60bd0bcd6815419f780e0284765..45aaa3b06fec2ce6bbc67b63be2f467d44efa381 100644 (file)
@@ -74,7 +74,7 @@ namespace System.Runtime.Remoting {
                        typeInfo = new TypeInfo(type);
 
                        if (remoteChannelData != null)
-                               channel_info = new ChannelInfoStore (remoteChannelData);
+                               channel_info = new ChannelInfo (remoteChannelData);
 
                        flags |= WellKnowObjectRef;
                }
@@ -208,7 +208,7 @@ namespace System.Runtime.Remoting {
 
                internal void UpdateChannelInfo()
                {
-                       channel_info = new ChannelInfoStore ();
+                       channel_info = new ChannelInfo ();
                }
 
                internal Type ServerType
index 62c8c54048af0870a36148f95ed885bc57ee446c..897c380c7ba8d42a89cf51017528e1e3113c92c2 100644 (file)
@@ -21,9 +21,9 @@ namespace System.Runtime.Remoting
        {
                static string applicationID = null;
                static string applicationName = null;
-               static string processId = null;
                static string configFile = "";
                static MiniParser parser = null; 
+               static string processGuid = null;
 
                static Hashtable wellKnownClientEntries = new Hashtable();
                static Hashtable activatedClientEntries = new Hashtable();
@@ -58,12 +58,15 @@ namespace System.Runtime.Remoting
                
                public static string ProcessId 
                {
-                       get { 
-                               processId = AppDomain.CurrentDomain.SetupInformation.ApplicationName;
-                               return processId; 
+                       get {
+                               if (processGuid == null)
+                                       processGuid = AppDomain.GetProcessGuid ();
+
+                               return processGuid;
                        }
                }
 
+
                // public methods
                
                public static void Configure (string filename) 
index 2391fa8d37852398d079b1d1386175fb9a299d4d..ebc163191a0ab4a271ad13078d344dad84f7c3b5 100644 (file)
@@ -285,10 +285,19 @@ namespace System.Runtime.Remoting
 
                public static bool IsOneWay(MethodBase method)
                {
+                       // TODO: use internal call for better performance
                        object[] atts = method.GetCustomAttributes (typeof (OneWayAttribute), false);
                        return atts.Length > 0;
                }
 
+               public static bool IsAsyncMessage(IMessage msg)
+               {
+                       if (! (msg is MonoMethodMessage)) return false;
+                       else if (((MonoMethodMessage)msg).IsAsync) return true;
+                       else if (IsOneWay (((MonoMethodMessage)msg).MethodBase)) return true;
+                       else return false;
+               }
+
                public static void SetObjectUriForMarshal(MarshalByRefObject obj, string uri)
                {
                        if (IsTransparentProxy (obj)) throw new RemotingException ("SetObjectUriForMarshal method should only be called for MarshalByRefObjects that exist in the current AppDomain.");