diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java index 908912a3459..7b6984a9580 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java @@ -26,8 +26,10 @@ public interface RpcProvider extends TransportMultiplexier { void registerRpcServiceEndpoint(RpcServiceEndpoint rpcEndpoint); void unregisteRpcServiceEndpoint(RpcServiceEndpoint rpcEndpoint); - - RpcClientCall newCall(String sourceAddress, String targetAddress); + + RpcClientCall newCall(TransportEndpoint sourceEndpoint, String targetAddress); + RpcClientCall newCall(String targetAddress); + void registerCall(RpcClientCall call); void cancelCall(RpcClientCall call); diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java index 51e11e14224..8b61e6e46e9 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java @@ -83,16 +83,23 @@ public class RpcProviderImpl implements RpcProvider { } @Override - public RpcClientCall newCall(String sourceAddress, String targetAddress) { + public RpcClientCall newCall(TransportEndpoint sourceEndpoint, String targetAddress) { long callTag = getNextCallTag(); RpcClientCallImpl call = new RpcClientCallImpl(this); - call.setSourceAddress(sourceAddress); + call.setSourceAddress(sourceEndpoint.getEndpointAddress()); call.setTargetAddress(targetAddress); call.setCallTag(callTag); return call; } + @Override + public RpcClientCall newCall(String targetAddress) { + + // ??? + return null; + } + @Override public void registerCall(RpcClientCall call) { assert(call != null);