Results 1 to 5 of 5

Thread: A question about collocated invocations.

  1. #1
    OrNot is offline Registered User
    Name: Bin.Li
    Organization: GE Healthcare
    Project: Enterprise solution
    Join Date
    Jun 2005
    Location
    Shanghai
    Posts
    181

    A question about collocated invocations.

    hi,there,
    Can anybody explain the "collocated invocation" to me please? I can not understand it. What is the meaning of the "collocate" in Ice? Any help is appreciated.

    Thanks in advance.

    Best regards--OrNot

  2. #2
    matthew's Avatar
    matthew is offline ZeroC Staff
    Name: Matthew Newhook
    Organization: ZeroC, Inc.
    Project: Internet Communications Engine
    Join Date
    Feb 2003
    Location
    NL, Canada
    Posts
    1,458
    collocated means that the proxy and the servant are hosted by the same communicator. If you only have one communicator then this in effect means that the proxy and servant are in the same process.

    If the proxy and servant are collocated Ice can bypass all of the network completely and make much more direct calls on the servant which is much faster.

    See 29.17 in the Ice manual for more details.

    Regards, Matthew

  3. #3
    OrNot is offline Registered User
    Name: Bin.Li
    Organization: GE Healthcare
    Project: Enterprise solution
    Join Date
    Jun 2005
    Location
    Shanghai
    Posts
    181
    Thank you Mattew. .

  4. #4
    Narendranath is offline Registered User
    Join Date
    Jun 2005
    Posts
    8

    Collocate

    Invoking an operation on a proxy instructs the Ice run time to send a message
    to the target object. The target object can be in another address space or can be collocated (in the same process) as the caller—the location of the target object is transparent to the client. If the target object is in another (possibly remote) address space, the Ice run time invokes the operation via a remote procedure call; if the target is collocated with the client, the Ice run time uses an ordinary function call instead, to avoid the overhead of marshaling.

  5. #5
    bernard's Avatar
    bernard is offline ZeroC Staff
    Name: Bernard Normier
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Palm Beach Gardens, FL
    Posts
    1,294
    As Matthew pointed out, we use "collocate" to mean "share the same communicator", which is stronger that just reside in the same process, since you can create several communicator objects in the same process.

    You can also disable the collocation optimization for "remote" calls (or calls through proxies) between a client and server that share the same communicator:
    newProxy = proxy->ice_collocationOptimization(false)
    (see 29.8 in the Ice manual)

    This is for example useful if you want to use a separate thread to run your oneway local operation.

    Cheers,
    Bernard

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Preference for local/Collocated services.
    By aozarov in forum Help Center
    Replies: 4
    Last Post: 03-10-2008, 02:00 PM
  2. Replies: 6
    Last Post: 03-07-2008, 07:53 PM
  3. Client side invocations from a Server app.
    By vincei in forum Comments
    Replies: 3
    Last Post: 07-04-2007, 09:27 AM
  4. Replies: 2
    Last Post: 07-18-2006, 09:26 AM
  5. Replies: 5
    Last Post: 02-06-2006, 10:26 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •