package org.zbus.client; import java.io.IOException; import org.zbus.common.remoting.Message; import org.zbus.common.remoting.RemotingClient; import org.zbus.common.remoting.ticket.ResultCallback; public interface Broker { RemotingClient getClient(ClientHint hint) throws IOException; void closeClient(RemotingClient client) throws IOException; void invokeAsync(Message msg, final ResultCallback callback) throws IOException; Message invokeSync(Message req, int timeout) throws IOException; void destroy(); }