Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
//
// Ice version 3.7.2
//
//
//
// Generated from file `Router.ice'
//
// Warning: do not edit this file.
//
//
//
package com.zeroc.Ice;
/**
* The Ice router interface. Routers can be set either globally with
* {@link Communicator#setDefaultRouter}, or with ice_router on specific
* proxies.
**/
public interface Router extends Object
{
/**
* Holds the result of operation getClientProxy.
**/
public static class GetClientProxyResult
{
/**
* Default constructor.
**/
public GetClientProxyResult()
{
}
/**
* This constructor makes shallow copies of the results for operation GetClientProxy.
* @param returnValue The router's client proxy.
* @param hasRoutingTable Indicates whether or not the router supports a routing
* table. If it is supported, the Ice runtime will call addProxies to populate the
* routing table. This out parameter is only supported starting with Ice 3.7.
* The Ice runtime assumes the router has a routing table if the optional is not
* set.
**/
public GetClientProxyResult(ObjectPrx returnValue, java.util.Optional hasRoutingTable)
{
this.returnValue = returnValue;
this.hasRoutingTable = hasRoutingTable;
}
/**
* This constructor makes shallow copies of the results for operation GetClientProxy (overload without Optional parameters).
* @param returnValue The router's client proxy.
* @param hasRoutingTable Indicates whether or not the router supports a routing
* table. If it is supported, the Ice runtime will call addProxies to populate the
* routing table. This out parameter is only supported starting with Ice 3.7.
* The Ice runtime assumes the router has a routing table if the optional is not
* set.
**/
public GetClientProxyResult(ObjectPrx returnValue, boolean hasRoutingTable)
{
this.returnValue = returnValue;
this.hasRoutingTable = java.util.Optional.of(hasRoutingTable);
}
/**
* The router's client proxy.
**/
public ObjectPrx returnValue;
/**
* Indicates whether or not the router supports a routing
* table. If it is supported, the Ice runtime will call addProxies to populate the
* routing table. This out parameter is only supported starting with Ice 3.7.
* The Ice runtime assumes the router has a routing table if the optional is not
* set.
**/
public java.util.Optional hasRoutingTable;
public void write(OutputStream ostr)
{
ostr.writeProxy(returnValue);
ostr.writeBool(1, this.hasRoutingTable);
}
public void read(InputStream istr)
{
returnValue = istr.readProxy();
this.hasRoutingTable = istr.readBool(1);
}
}
/**
* Get the router's client proxy, i.e., the proxy to use for
* forwarding requests from the client to the router.
*
* If a null proxy is returned, the client will forward requests
* to the router's endpoints.
* @param current The Current object for the invocation.
* @return An instance of Router.GetClientProxyResult.
**/
Router.GetClientProxyResult getClientProxy(Current current);
/**
* Get the router's server proxy, i.e., the proxy to use for
* forwarding requests from the server to the router.
* @param current The Current object for the invocation.
* @return The router's server proxy.
**/
ObjectPrx getServerProxy(Current current);
/**
* Add new proxy information to the router's routing table.
* @param proxies The proxies to add.
* @param current The Current object for the invocation.
* @return Proxies discarded by the router.
**/
ObjectPrx[] addProxies(ObjectPrx[] proxies, Current current);
/** @hidden */
static final String[] _iceIds =
{
"::Ice::Object",
"::Ice::Router"
};
@Override
default String[] ice_ids(Current current)
{
return _iceIds;
}
@Override
default String ice_id(Current current)
{
return ice_staticId();
}
static String ice_staticId()
{
return "::Ice::Router";
}
/**
* @hidden
* @param obj -
* @param inS -
* @param current -
* @return -
**/
static java.util.concurrent.CompletionStage _iceD_getClientProxy(Router obj, final com.zeroc.IceInternal.Incoming inS, Current current)
{
Object._iceCheckMode(com.zeroc.Ice.OperationMode.Idempotent, current.mode);
inS.readEmptyParams();
Router.GetClientProxyResult ret = obj.getClientProxy(current);
OutputStream ostr = inS.startWriteParams();
ret.write(ostr);
inS.endWriteParams(ostr);
return inS.setResult(ostr);
}
/**
* @hidden
* @param obj -
* @param inS -
* @param current -
* @return -
**/
static java.util.concurrent.CompletionStage _iceD_getServerProxy(Router obj, final com.zeroc.IceInternal.Incoming inS, Current current)
{
Object._iceCheckMode(com.zeroc.Ice.OperationMode.Idempotent, current.mode);
inS.readEmptyParams();
ObjectPrx ret = obj.getServerProxy(current);
OutputStream ostr = inS.startWriteParams();
ostr.writeProxy(ret);
inS.endWriteParams(ostr);
return inS.setResult(ostr);
}
/**
* @hidden
* @param obj -
* @param inS -
* @param current -
* @return -
**/
static java.util.concurrent.CompletionStage _iceD_addProxies(Router obj, final com.zeroc.IceInternal.Incoming inS, Current current)
{
Object._iceCheckMode(com.zeroc.Ice.OperationMode.Idempotent, current.mode);
InputStream istr = inS.startReadParams();
ObjectPrx[] iceP_proxies;
iceP_proxies = ObjectProxySeqHelper.read(istr);
inS.endReadParams();
ObjectPrx[] ret = obj.addProxies(iceP_proxies, current);
OutputStream ostr = inS.startWriteParams();
ObjectProxySeqHelper.write(ostr, ret);
inS.endWriteParams(ostr);
return inS.setResult(ostr);
}
/** @hidden */
final static String[] _iceOps =
{
"addProxies",
"getClientProxy",
"getServerProxy",
"ice_id",
"ice_ids",
"ice_isA",
"ice_ping"
};
/** @hidden */
@Override
default java.util.concurrent.CompletionStage _iceDispatch(com.zeroc.IceInternal.Incoming in, Current current)
throws UserException
{
int pos = java.util.Arrays.binarySearch(_iceOps, current.operation);
if(pos < 0)
{
throw new OperationNotExistException(current.id, current.facet, current.operation);
}
switch(pos)
{
case 0:
{
return _iceD_addProxies(this, in, current);
}
case 1:
{
return _iceD_getClientProxy(this, in, current);
}
case 2:
{
return _iceD_getServerProxy(this, in, current);
}
case 3:
{
return Object._iceD_ice_id(this, in, current);
}
case 4:
{
return Object._iceD_ice_ids(this, in, current);
}
case 5:
{
return Object._iceD_ice_isA(this, in, current);
}
case 6:
{
return Object._iceD_ice_ping(this, in, current);
}
}
assert(false);
throw new OperationNotExistException(current.id, current.facet, current.operation);
}
}