Split out old_socket_do_write from lm_old_socket_do_write.
authorMikael Hallendal <micke@imendio.com>
Sun, 13 Jul 2008 10:58:09 +0200
changeset 448 4aec5fbe96f1
parent 447 b06a273612be
child 449 fc21afc00164
Split out old_socket_do_write from lm_old_socket_do_write. The reason for having the buffer setup split out of lm_old_socket_do_write was that it's also used internally in LmOldSocket. Split out the part that should not care about buffered output into old_socket_do_write. Also renamed lm_old_socket_do_write to lm_old_socket_write.
loudmouth/lm-connection.c
loudmouth/lm-old-socket.c
loudmouth/lm-old-socket.h
--- a/loudmouth/lm-connection.c	Sun Jul 13 01:22:50 2008 +0200
+++ b/loudmouth/lm-connection.c	Sun Jul 13 10:58:09 2008 +0200
@@ -483,7 +483,7 @@
 	/* Check to see if there already is an output buffer, if so, add to the
 	   buffer and return */
 
-	b_written = lm_old_socket_do_write (connection->socket, str, len);
+	b_written = lm_old_socket_write (connection->socket, str, len);
 
 	if (b_written < 0) {
 		g_set_error (error,
--- a/loudmouth/lm-old-socket.c	Sun Jul 13 01:22:50 2008 +0200
+++ b/loudmouth/lm-old-socket.c	Sun Jul 13 10:58:09 2008 +0200
@@ -153,16 +153,12 @@
 	g_free (socket);
 }
 
-gint
-lm_old_socket_do_write (LmOldSocket *socket, const gchar *buf, gint len)
+static gint
+old_socket_do_write (LmOldSocket *socket, const gchar *buf, guint len)
 {
-	gint b_written;
+        gint b_written;
 
-	if (old_socket_output_is_buffered (socket, buf, len)) {
-                return len;
-        }
-
-	if (socket->ssl_started) {
+        if (socket->ssl_started) {
 		b_written = _lm_ssl_send (socket->ssl, buf, len);
 	} else {
 		GIOStatus io_status = G_IO_STATUS_AGAIN;
@@ -182,6 +178,20 @@
 		}
 	}
 
+        return b_written;
+}
+
+gint
+lm_old_socket_write (LmOldSocket *socket, const gchar *buf, gint len)
+{
+	gint b_written;
+
+	if (old_socket_output_is_buffered (socket, buf, len)) {
+                return len;
+        }
+
+        b_written = old_socket_do_write (socket, buf, len);
+
         if (b_written < len && b_written != -1) {
                 old_socket_setup_output_buffer (socket,
                                                 buf + b_written,
@@ -712,7 +722,7 @@
 		return FALSE;
 	}
 
-	b_written = lm_old_socket_do_write (socket, out_buf->str, out_buf->len);
+	b_written = old_socket_do_write (socket, out_buf->str, out_buf->len);
 
 	if (b_written < 0) {
 		(socket->closed_func) (socket, LM_DISCONNECT_REASON_ERROR, 
@@ -978,7 +988,7 @@
 	req.ai_protocol = IPPROTO_TCP;
 
 #ifdef HAVE_ASYNCNS
-	if (!_asyncns_prep (socket, NULL))
+	if (!old_socket_asyncns_prep (socket, NULL))
 		return;
 
 	socket->resolv_query =
@@ -1074,7 +1084,7 @@
 		lm_verbose ("Performing a SRV lookup for %s\n", srv);
 
 #ifdef HAVE_ASYNCNS
-		if (!_asyncns_prep (socket, error))
+		if (!old_socket_asyncns_prep (socket, error))
 			return NULL;
 		
 		socket->resolv_query =
@@ -1223,7 +1233,7 @@
                 if (socket->resolv_query)
                         asyncns_cancel (socket->asyncns_ctx, socket->resolv_query);
 
-                _asyncns_done (socket);
+                old_so_asyncns_done (socket);
 	}
 #else
         return;
--- a/loudmouth/lm-old-socket.h	Sun Jul 13 01:22:50 2008 +0200
+++ b/loudmouth/lm-old-socket.h	Sun Jul 13 10:58:09 2008 +0200
@@ -27,43 +27,43 @@
 
 typedef struct _LmOldSocket LmOldSocket;
 
-typedef void    (* IncomingDataFunc)  (LmOldSocket       *socket,
-				       const gchar    *buf,
-				       gpointer        user_data);
-
-typedef void    (* SocketClosedFunc)  (LmOldSocket       *socket,
-				       LmDisconnectReason reason,
-				       gpointer        user_data);
+typedef void    (* IncomingDataFunc)  (LmOldSocket         *socket,
+				       const gchar         *buf,
+				       gpointer             user_data);
 
-typedef void    (* ConnectResultFunc) (LmOldSocket        *socket,
-				       gboolean         result,
-				       gpointer         user_data);
+typedef void    (* SocketClosedFunc)  (LmOldSocket         *socket,
+				       LmDisconnectReason   reason,
+				       gpointer             user_data);
 
-gint      lm_old_socket_do_write              (LmOldSocket       *socket,
-					   const gchar    *buf,
-					   gint            len);
+typedef void    (* ConnectResultFunc) (LmOldSocket         *socket,
+                                       gboolean             result,
+				       gpointer             user_data);
 
-LmOldSocket *  lm_old_socket_create              (GMainContext   *context, 
-					   IncomingDataFunc data_func,
-					   SocketClosedFunc closed_func,
-					   ConnectResultFunc connect_func,
-					   gpointer         user_data,
-					   LmConnection   *connection,
-					   gboolean        blocking,
-					   const gchar    *server, 
-					   const gchar    *domain,
-					   guint           port, 
-					   LmSSL          *ssl,
-					   LmProxy        *proxy,
-					   GError        **error);
-void        lm_old_socket_flush               (LmOldSocket       *socket);
-void        lm_old_socket_close               (LmOldSocket       *socket);
-LmOldSocket *  lm_old_socket_ref                 (LmOldSocket       *socket);
-void        lm_old_socket_unref               (LmOldSocket       *socket);
-gboolean    lm_old_socket_starttls            (LmOldSocket *socket);
-gboolean    lm_old_socket_set_keepalive       (LmOldSocket *socket, int delay);
-gchar *     lm_old_socket_get_local_host      (LmOldSocket *socket);
-void	    lm_old_socket_asyncns_cancel      (LmOldSocket *socket);
+LmOldSocket * lm_old_socket_create          (GMainContext       *context, 
+                                             IncomingDataFunc    data_func,
+                                             SocketClosedFunc    closed_func,
+                                             ConnectResultFunc   connect_func,
+                                             gpointer            user_data,
+                                             LmConnection       *connection,
+                                             gboolean            blocking,
+                                             const gchar        *server, 
+                                             const gchar        *domain,
+                                             guint               port, 
+                                             LmSSL              *ssl,
+                                             LmProxy            *proxy,
+                                             GError           **error);
+gint           lm_old_socket_write          (LmOldSocket       *socket,
+                                             const gchar       *buf,
+                                             gint               len);
+void           lm_old_socket_flush          (LmOldSocket        *socket);
+void           lm_old_socket_close          (LmOldSocket        *socket);
+LmOldSocket *  lm_old_socket_ref            (LmOldSocket        *socket);
+void           lm_old_socket_unref          (LmOldSocket        *socket);
+gboolean       lm_old_socket_starttls       (LmOldSocket        *socket);
+gboolean       lm_old_socket_set_keepalive  (LmOldSocket        *socket, 
+                                             int                 delay);
+gchar *        lm_old_socket_get_local_host (LmOldSocket        *socket);
+void	       lm_old_socket_asyncns_cancel (LmOldSocket        *socket);
 
 #endif /* __LM_OLD_SOCKET_H__ */