ICE 3.4.2
[php5-ice-freebsdport.git] / cs / demo / Ice / throughput / Throughput.ice
blob7186e29f9f868e5bd60e8b41d98550ad8479ce91
1 // **********************************************************************
2 //
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
4 //
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
7 //
8 // **********************************************************************
10 #ifndef THROUGHPUT_ICE
11 #define THROUGHPUT_ICE
13 module Demo
16 sequence<byte> ByteSeq;
17 const int ByteSeqSize = 500000;
19 sequence<string> StringSeq;
20 const int StringSeqSize = 50000;
22 struct StringDouble
24     string s;
25     double d;
27 sequence<StringDouble> StringDoubleSeq;
28 const int StringDoubleSeqSize = 50000;
30 struct Fixed
32     int i;
33     int j;
34     double d;
36 sequence<Fixed> FixedSeq;
37 const int FixedSeqSize = 50000;
39 interface Throughput
41     bool needsWarmup();
42     void startWarmup();
43     void endWarmup();
44     
45     void sendByteSeq(ByteSeq seq);
46     ByteSeq recvByteSeq();
47     ByteSeq echoByteSeq(ByteSeq seq);
49     void sendStringSeq(StringSeq seq);
50     StringSeq recvStringSeq();
51     StringSeq echoStringSeq(StringSeq seq);
53     void sendStructSeq(StringDoubleSeq seq);
54     StringDoubleSeq recvStructSeq();
55     StringDoubleSeq echoStructSeq(StringDoubleSeq seq);
57     void sendFixedSeq(FixedSeq seq);
58     FixedSeq recvFixedSeq();
59     FixedSeq echoFixedSeq(FixedSeq seq);
61     void shutdown();
66 #endif