tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rj...@apache.org
Subject svn commit: r603400 - /tomcat/connectors/trunk/jk/native/common/jk_connect.c
Date Tue, 11 Dec 2007 22:57:59 GMT
Author: rjung
Date: Tue Dec 11 14:57:59 2007
New Revision: 603400

URL: http://svn.apache.org/viewvc?rev=603400&view=rev
Log:
Add function description comments and
switch return values of jk_is_socket_connected()
from 0/1 to JK_FALSE/JK_TRUE.

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_connect.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_connect.c?rev=603400&r1=603399&r2=603400&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_connect.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_connect.c Tue Dec 11 14:57:59 2007
@@ -58,6 +58,12 @@
 typedef const char* SET_TYPE;
 #endif
 
+/** Set socket to blocking
+ * @param sd  socket to manipulate
+ * @return    errno: fcntl returns -1 /* ! WIN32 */
+ *            pseudo errno: ioctlsocket returns SOCKET_ERROR /* WIN32 */
+ *            0: success
+ */
 static int soblock(jk_sock_t sd)
 {
 /* BeOS uses setsockopt at present for non blocking... */
@@ -87,6 +93,12 @@
     return 0;
 }
 
+/** Set socket to non-blocking
+ * @param sd  socket to manipulate
+ * @return    errno: fcntl returns -1 /* ! WIN32 */
+ *            pseudo errno: ioctlsocket returns SOCKET_ERROR /* WIN32 */
+ *            0: success
+ */
 static int sononblock(jk_sock_t sd)
 {
 #ifndef WIN32
@@ -117,6 +129,17 @@
 
 #if defined (WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
 /* WIN32 implementation */
+/** Non-blocking socket connect
+ * @param sock     socket to connect
+ * @param addr     address to connect to
+ * @param timeout  connect timeout in seconds
+ *                 (<=0: no timeout=blocking)
+ * @param l        logger
+ * @return         -1: some kind of error occured
+ *                 SOCKET_ERROR: no timeout given and error
+ *                               during blocking connect
+ *                 0: success
+ */
 static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout, jk_logger_t *l)
 {
     int rc;
@@ -167,6 +190,15 @@
 
 #elif !defined(NETWARE)
 /* POSIX implementation */
+/** Non-blocking socket connect
+ * @param sock     socket to connect
+ * @param addr     address to connect to
+ * @param timeout  connect timeout in seconds
+ *                 (<=0: no timeout=blocking)
+ * @param l        logger
+ * @return         -1: some kind of error occured
+ *                 0: success
+ */
 static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout, jk_logger_t *l)
 {
     int rc = 0;
@@ -216,6 +248,14 @@
 }
 #else
 /* NETWARE implementation - blocking for now */
+/** Non-blocking socket connect
+ * @param sock     socket to connect
+ * @param addr     address to connect to
+ * @param timeout  connect timeout in seconds (ignored!)
+ * @param l        logger
+ * @return         -1: some kind of error occured
+ *                 0: success
+ */
 static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout, jk_logger_t *l)
 {
     return connect(sock, addr, sizeof(struct sockaddr_in));
@@ -243,8 +283,14 @@
 
 #endif
 
-/** resolve the host IP */
-
+/** Resolve the host IP
+ * @param host     host or ip address
+ * @param port     port
+ * @param rc       return value pointer
+ * @param l        logger
+ * @return         JK_FALSE: some kind of error occured
+ *                 JK_TRUE: success
+ */
 int jk_resolve(const char *host, int port, struct sockaddr_in *rc, jk_logger_t *l)
 {
     int x;
@@ -262,7 +308,7 @@
         }
     }
 
-    /* If we found also characters we shoud make name to IP resolution */
+    /* If we found also characters we should make name to IP resolution */
     if (host[x] != '\0') {
 
 #ifdef HAVE_APR
@@ -320,8 +366,17 @@
     return JK_TRUE;
 }
 
-/** connect to Tomcat */
-
+/** Connect to Tomcat
+ * @param addr      address to connect to
+ * @param keepalive should we set SO_KEEPALIVE (if !=0)
+ * @param timeout   connect timeout in seconds
+ *                  (<=0: no timeout=blocking)
+ * @param sock_buf  size of send and recv buffer
+ *                  (<=0: use default)
+ * @param l         logger
+ * @return          JK_INVALID_SOCKET: some kind of error occured
+ *                  created socket: success
+ */
 jk_sock_t jk_open_socket(struct sockaddr_in *addr, int keepalive,
                          int timeout, int sock_buf, jk_logger_t *l)
 {
@@ -342,7 +397,6 @@
                "socket() failed (errno=%d)", errno);
         JK_TRACE_EXIT(l);
         return JK_INVALID_SOCKET;
-;
     }
     /* Disable Nagle algorithm */
     if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (SET_TYPE)&set,
@@ -485,8 +539,13 @@
     return sock;
 }
 
-/** close the socket */
-
+/** Close the socket
+ * @param s         socket to close
+ * @param l         logger
+ * @return          -1: some kind of error occured /* ! WIN32 */
+ *                  SOCKET_ERROR: some kind of error occured  /* WIN32 */
+ *                  0: success
+ */
 int jk_close_socket(jk_sock_t s, jk_logger_t *l)
 {
     if (IS_VALID_SOCKET(s))
@@ -510,6 +569,15 @@
 #define SHUT_WR 0x01
 #endif
 #endif
+
+/** Drain and close the socket
+ * @param s         socket to close
+ * @param l         logger
+ * @return          -1: socket to close is invalid
+ *                  -1: some kind of error occured /* ! WIN32 */
+ *                  SOCKET_ERROR: some kind of error occured  /* WIN32 */
+ *                  0: success
+ */
 int jk_shutdown_socket(jk_sock_t s, jk_logger_t *l)
 {
     char dummy[512];
@@ -565,15 +633,17 @@
     return jk_close_socket(s, l);
 }
 
-/** send a long message
- * @param sd  opened socket.
- * @param b   buffer containing the data.
- * @param len length to send.
- * @return    -2: send returned 0 ? what this that ?
- *            -3: send failed.
- *            >0: total size send.
+/** send a message
+ * @param sd  socket to use
+ * @param b   buffer containing the data
+ * @param len length to send
+ * @param l   logger
+ * @return    negative errno: write returns a fatal -1 /* ! WIN32 */
+ *            negative pseudo errno: send returns SOCKET_ERROR /* WIN32 */
+ *            JK_SOCKET_EOF: no bytes could be sent
+ *            >0: success, total size send
  * @bug       this fails on Unixes if len is too big for the underlying
- *             protocol.
+ *            protocol
  */
 int jk_tcp_socket_sendfull(jk_sock_t sd, const unsigned char *b, int len, jk_logger_t *l)
 {
@@ -602,12 +672,15 @@
     return sent;
 }
 
-/** receive len bytes. Used in ajp_common.
- * @param sd  opened socket.
- * @param b   buffer to store the data.
- * @param len length to receive.
- * @return    <0: receive failed or connection closed.
- *            >0: length of the received data.
+/** receive a message
+ * @param sd  socket to use
+ * @param b   buffer to store the data
+ * @param len length to receive
+ * @param l   logger
+ * @return    negative errno: read returns a fatal -1 /* ! WIN32 */
+ *            negative pseudo errno: recv returns SOCKET_ERROR /* WIN32 */
+ *            JK_SOCKET_EOF: no bytes could be read
+ *            >0: success, total size received
  */
 int jk_tcp_socket_recvfull(jk_sock_t sd, unsigned char *b, int len, jk_logger_t *l)
 {
@@ -653,6 +726,12 @@
     return buf;
 }
 
+/** Test if a socket is still connected
+ * @param sock socket to use
+ * @param l    logger
+ * @return     JK_FALSE: failure
+ *             JK_TRUE: success
+ */
 int jk_is_socket_connected(jk_sock_t sock, jk_logger_t *l)
 {
     fd_set fd;
@@ -679,7 +758,7 @@
 
     if (rc == 0) {
         /* If we get a timeout, then we are still connected */
-        return 1;
+        return JK_TRUE;
     }
     else if (rc == 1) {
 #if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
@@ -689,16 +768,16 @@
                 errno = 0;
             else
                 errno = WSAGetLastError() - WSABASEERR;
-            return nr == 0 ? 0 : 1;
+            return nr == JK_FALSE ? JK_FALSE : JK_TRUE;
         }
         errno = WSAGetLastError() - WSABASEERR;
 #else
         int nr;
         if (ioctl(sock, FIONREAD, (void*)&nr) == 0) {
-            return nr == 0 ? 0 : 1;
+            return nr == JK_FALSE ? JK_FALSE : JK_TRUE;
         }
 #endif
     }
 
-    return 0;
+    return JK_FALSE;
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message