package hprose.example.client;
import hprose.client.HproseClient;
import hprose.client.HproseTcpClient;
import hprose.common.InvokeSettings;
import hprose.util.concurrent.Promise;
interface ISum {
Promise<Integer> sum(int a, int b);
Promise<Integer> sum(int a, int b, InvokeSettings settings);
}
public class TimeoutClient {
public static void main(String[] args) throws Throwable {
HproseTcpClient client = (HproseTcpClient)HproseClient.create("tcp://0.0.0.0:4321");
client.setFullDuplex(false);
client.setTimeout(900);
ISum exam = client.useService(ISum.class);
exam.sum(1, 2).then(r -> {
System.out.println("1 + 2 = " + r);
}, (e) -> {
InvokeSettings settings = new InvokeSettings();
settings.setTimeout(20000);
exam.sum(2, 3, settings).then(r -> {
System.out.println("2 + 3 = " + r);
});
});
Thread.sleep(2500);
}
}