Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / docs / locate_request.html
blobcc79b81dc9b019c97ad523f1053b57b7bf4fadc8
1 <html>
2 <!-- -->
3 <head>
4 <title>Implementation of locate requests</title>
5 </head>
7 <BODY text = "#000000"
8 link="#0000ff"
9 vlink="#cc0000"
10 bgcolor="#ffffff">
12 <body>
13 <HR>
14 <h1>Locate requests</h1>
15 <HR>
16 <h2>Context</h2>
17 The CORBA specification describes locate requests as a way to
18 find out if an object is available at the other end of the wire
19 or not without invoking an actual method on it.
20 This way expensive marshalling and demarshalling can be prohibited.
21 Locate requests are part of GIOP.
23 <h2>Implementation</h2>
24 The main classes involved in locate requests are the Server_Connection_Handler
25 to do check for the object. This is done by invoking the non standard
26 "non_existent" method on it. If it fails an exception will be thrown,
27 if the exception is not the Forward_Request exception of the POA,
28 the object is not there. If it is this specific exception, the new
29 forwarded location can be extracted and returned in the locate reply.
30 If the call on "non_existent" succeeds, we know the object is there and
31 return that.
33 The client part of the locate request is handled int Locate_Request_Invocation.
34 The response is checked on the answer. If there, we go on and invoke the
35 actual method on the distant object. If not there, we fail and throw the proper
36 exception and if we get forwarded we replace our IIOP profile acordingly.
38 <h2>API</h2>
39 To activate the locate requests, please invoke the non standard method
40 "_use_locate_requests (CORBA::B_TRUE)" on your CORBA::Object or any
41 object which inherits form this object. This will activate the locate
42 request on the first call to the object. The second time and on all
43 following calls "no" locate request will be used any more. To switch
44 it on again use "_use_locate_requests (CORBA::B_TRUE)" again.
45 You can also switch it of by "_use_locate_requests (CORBA::B_FALSE)".
47 <HR>
48 For more details and questions,
49 <p>
50 <address><a href="mailto:irfan1@cs.wustl.edu">Irfan Pyarali</a></address>
51 <p>
52 <address><a href="mailto:mk1@cs.wustl.edu">Michael Kircher</a></address>
53 <p>
54 </body>
55 </html>