From 3a33b3ba565d365e8d76841cc0569e4798ab3f79 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Fri, 2 Aug 2002 15:27:26 +0000 Subject: some docu about LDFLD/STFLD for transparent proxies svn path=/trunk/mono/; revision=6354 --- docs/remoting | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 docs/remoting (limited to 'docs/remoting') 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(). + + -- cgit v1.2.3