some docu about LDFLD/STFLD for transparent proxies
authorDietmar Maurer <dietmar@mono-cvs.ximian.com>
Fri, 2 Aug 2002 15:27:26 +0000 (15:27 -0000)
committerDietmar Maurer <dietmar@mono-cvs.ximian.com>
Fri, 2 Aug 2002 15:27:26 +0000 (15:27 -0000)
svn path=/trunk/mono/; revision=6354

docs/remoting [new file with mode: 0644]

diff --git a/docs/remoting b/docs/remoting
new file mode 100644 (file)
index 0000000..806e401
--- /dev/null
@@ -0,0 +1,26 @@
+Runtime support for Remoting
+============================
+
+The runtime supports a special objects called "TransparentProxy". You can
+create objects of this type by calling GetTransparentProxy() on a "RealProxy"
+object. 
+
+LDFLD/STFLD for transparent proxies
+===================================
+
+Access to fields must be redirected to the remote object. System.Object has
+some special methods for that:
+
+void FieldGetter (string typeName, string fieldName, ref object val);
+               
+void FieldSetter (string typeName, string fieldName, object val);
+
+This methods are never called on actual object. The are only used to pack
+LDFLD/STFLD operations into method call messages, which are then passed to the
+RealProxy::Invoke() method. 
+
+There are two helper methods which can be used by the JIT and the interpreter
+to convert LDFLD/STFLD operations into messages and then call
+RealProxy::Invoke(): mono_store_remote_field() and mono_load_remote_field().
+
+