Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDietmar Maurer <dietmar@mono-cvs.ximian.com>2002-08-02 19:27:26 +0400
committerDietmar Maurer <dietmar@mono-cvs.ximian.com>2002-08-02 19:27:26 +0400
commit3a33b3ba565d365e8d76841cc0569e4798ab3f79 (patch)
tree9e49e4d7d58d1bb0e1fb1ef09f3c349461bdaec2 /docs/remoting
parent1c3dd3b6dfad2f40bd02732a752eef42e02fbd13 (diff)
some docu about LDFLD/STFLD for transparent proxies
svn path=/trunk/mono/; revision=6354
Diffstat (limited to 'docs/remoting')
-rw-r--r--docs/remoting26
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/remoting b/docs/remoting
new file mode 100644
index 00000000000..806e4015286
--- /dev/null
+++ b/docs/remoting
@@ -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().
+
+