Home Help Center

Question about Glacier.Router.Client.Endpoints in Glacier!

rc_hzrc_hz Member Eric RCOrganization: www.genband.comProject: No project yet ✭✭✭
I am reading "Distributed Programming with Ice" paper and has reached Chapter 29.3.1. But I can not understand why we have to config Glacier.Router.Client.Endpoints. I can not see any necessity of Glacier.Router.Client.Endpoints if we use router without callback objects.

Could anybody explain it for me ? Thanks!

Comments

  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    Glacier.Router.Client.Endpoints defines the endpoints to which clients connect. If this is not defined, your clients cannot reach Glacier. If you do not use callbacks, then there is no need to define Glacier.Router.Server.Endpoints, as this defines the endpoints where the servers connect to Glacier.
  • rc_hzrc_hz Member Eric RCOrganization: www.genband.comProject: No project yet ✭✭✭
    Thanks!

    I can understand Glacier.Router.Server.Endpoints, but i can not figure out the difference between Glacier.Router.Endpoints and Glacier.Router.Client.Endpoints ? This is what the paper say:

    1)The endpoint defined by Glacier.Router.Endpoints is called the router control endpoint because it is used by the Ice run time in a client to interact directly with the router.

    2)The endpoint defined by the property Glacier.Router.Client.Endpoints is where requests from routed proxies are sent.

    Both of these endpoints must be accessible to clients and there-fore are defined on the public network interface.
  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Hi,

    The endpoints defined by the Glacier.Router.Endpoints property are for use in the router's proxy that a client defines in Ice.Default.Router. The Ice::Router interface defines a getClientProxy operation, and the Glacier router's implementation of this operation returns a proxy whose endpoints are defined by Glacier.Router.Client.Endpoints.

    So, both sets of endpoints must be accessible to clients, but the endpoints in Glacier.Router.Client.Endpoints would not appear in the client's configuration. This behavior is simply an implementation detail, as the upcoming Glacier2 router does not require two sets of client-side endpoints.

    Hope that helps.
    - Mark
  • rc_hzrc_hz Member Eric RCOrganization: www.genband.comProject: No project yet ✭✭✭
    Originally posted by mes
    Hi,

    The endpoints defined by the Glacier.Router.Endpoints property are for use in the router's proxy that a client defines in Ice.Default.Router. The Ice::Router interface defines a getClientProxy operation, and the Glacier router's implementation of this operation returns a proxy whose endpoints are defined by Glacier.Router.Client.Endpoints.

    So, both sets of endpoints must be accessible to clients, but the endpoints in Glacier.Router.Client.Endpoints would not appear in the client's configuration. This behavior is simply an implementation detail, as the upcoming Glacier2 router does not require two sets of client-side endpoints.

    Hope that helps.
    - Mark

    Thank you mes.
    I have got the interfaces defined by Ice::Router:
    1)Object* getClientProxy();
    Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router.

    2)Object* getServerProxy();
    Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router.

    I am sorry that i can not really understand what "forwarding requests from the client to the router" means. Is there a TCP/IP connection between client and router (defined by Glacier.Router.Endpoints), right ? Why should Ice forward requests from client to router ? Though the behavior is simply an implementation detail, but i am really interested in it! Can you explain more to me ? Thank you very much!


Sign In or Register to comment.