diff options
author | Dietmar Maurer <dietmar@mono-cvs.ximian.com> | 2002-08-02 19:27:26 +0400 |
---|---|---|
committer | Dietmar Maurer <dietmar@mono-cvs.ximian.com> | 2002-08-02 19:27:26 +0400 |
commit | 3a33b3ba565d365e8d76841cc0569e4798ab3f79 (patch) | |
tree | 9e49e4d7d58d1bb0e1fb1ef09f3c349461bdaec2 /docs | |
parent | 1c3dd3b6dfad2f40bd02732a752eef42e02fbd13 (diff) |
some docu about LDFLD/STFLD for transparent proxies
svn path=/trunk/mono/; revision=6354
Diffstat (limited to 'docs')
-rw-r--r-- | docs/remoting | 26 |
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(). + + |