mturk 2005/05/28 05:13:02
Modified: jni/examples/org/apache/tomcat/jni Echo.java
Log:
Update examples to conform to API.
Add OS.info display.
Revision Changes Path
1.11 +55 -16
jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java
Index: Echo.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Echo.java 18 Apr 2005 15:28:06 -0000 1.10
+++ Echo.java 28 May 2005 12:13:02 -0000 1.11
@@ -82,7 +82,7 @@
System.out.println("Server: " + addr.servname);
System.out.println("IP: " + Address.getip(sa) +
":" + addr.port);
- }
+ }
int rc = Socket.bind(serverSock, inetAddress);
if (rc != 0) {
throw(new Exception("Can't create Acceptor: bind: " +
Error.strerror(rc)));
@@ -101,7 +101,7 @@
while (true) {
long clientSock = Socket.accept(serverSock, pool);
System.out.println("Accepted id: " + i);
-
+
try {
long sa = Address.get(Socket.APR_REMOTE, clientSock);
Sockaddr raddr = new Sockaddr();
@@ -117,13 +117,13 @@
System.out.println("Local Server: " +
Address.getnameinfo(sa, 0));
System.out.println("Local IP: " +
Address.getip(sa) +
":" + laddr.port);
- }
-
+ }
+
} catch (Exception e) {
// Ignore
e.printStackTrace();
}
-
+
Socket.timeoutSet(clientSock, 10000000);
Worker worker = new Worker(clientSock, i++,
this.getClass().getName());
@@ -183,16 +183,25 @@
/* Four times size then created pollset */
long [] desc = new long[64];
/* USe 1 second poll timeout */
- int rv = Poll.poll(serverPollset, 1000000, desc);
- for (int n = 0; n < rv; n++) {
- long clientSock = desc[n*4+1];
- int workerId = (int)desc[n*4+2];
- System.out.println("Poll flags " + desc[n*4]);
- remove(clientSock, workerId);
- Worker worker = new Worker(clientSock, workerId,
-
this.getClass().getName());
- Echo.incThreads();
- worker.start();
+ int rv = Poll.poll(serverPollset, 1000000, desc, false);
+ if (rv > 0) {
+ for (int n = 0; n < rv; n++) {
+ long clientSock = desc[n*4+1];
+ int workerId = (int)desc[n*4+2];
+ System.out.println("Poll flags " + desc[n*4]);
+ remove(clientSock, workerId);
+ Worker worker = new Worker(clientSock, workerId,
+
this.getClass().getName());
+ Echo.incThreads();
+ worker.start();
+ }
+ }
+ else {
+ if (Status.APR_STATUS_IS_TIMEUP(-rv))
+ System.out.println("Timeup");
+ else {
+ System.out.println("Error " + (-rv));
+ }
}
}
/* XXX: JFC quick hack
@@ -294,6 +303,36 @@
public static void main(String [] args) {
try {
Library.initialize(null);
+ long [] inf = new long[16];
+ System.out.println("Info ...");
+ System.out.println(" Native " + Library.versionString());
+ System.out.println(" APR " +
Library.aprVersionString());
+ OS.info(inf);
+ System.out.println("OS Info ...");
+ System.out.println(" Physical " + inf[0]);
+ System.out.println(" Avail " + inf[1]);
+ System.out.println(" Swap " + inf[2]);
+ System.out.println(" Swap free " + inf[3]);
+ System.out.println(" Shared " + inf[4]);
+ System.out.println(" Buffers size " + inf[5]);
+ System.out.println(" Load " + inf[6]);
+
+ System.out.println(" Idle " + inf[7]);
+ System.out.println(" Kernel " + inf[8]);
+ System.out.println(" User " + inf[9]);
+
+ System.out.println(" Proc creation " + inf[10]);
+ System.out.println(" Proc kernel " + inf[11]);
+ System.out.println(" Proc user " + inf[12]);
+ System.out.println(" Curr working " + inf[13]);
+ System.out.println(" Peak working " + inf[14]);
+ System.out.println(" Page faults " + inf[15]);
+
+ SSL.initialize(null);
+ System.out.println("OpenSSL ...");
+ System.out.println(" version " + SSL.versionString());
+ System.out.println(" number " + SSL.version());
+
System.out.println("Starting Native Echo server example on port
" +
echoAddr + ":" + echoPort);
Echo echo = new Echo();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]