Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jun 2009 19:17:20 GMT
From:      Gabor Pali <pgj@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 164820 for review
Message-ID:  <200906211917.n5LJHKVw050773@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=164820

Change 164820 by pgj@petymeg-current on 2009/06/21 19:17:18

	Introduce a type for socket buffers

Affected files ...

.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#33 edit
.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#20 edit
.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#18 edit
.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#20 edit
.. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#19 edit
.. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#15 edit
.. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#5 edit

Differences ...

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#33 (text+ko) ====

@@ -581,20 +581,20 @@
 	stp->st_qlen = xpcb->xu_socket.so_qlen;
 	stp->st_incqlen = xpcb->xu_socket.so_incqlen;
 	stp->st_qlimit = xpcb->xu_socket.so_qlimit;
-	stp->st_snd_cc = xpcb->xu_socket.so_snd.sb_cc;
-	stp->st_snd_mcnt = xpcb->xu_socket.so_snd.sb_mcnt;
-	stp->st_snd_ccnt = xpcb->xu_socket.so_snd.sb_ccnt;
-	stp->st_snd_hiwat = xpcb->xu_socket.so_snd.sb_hiwat;
-	stp->st_snd_lowat = xpcb->xu_socket.so_snd.sb_lowat;
-	stp->st_snd_mbcnt = xpcb->xu_socket.so_snd.sb_mbcnt;
-	stp->st_snd_mbmax = xpcb->xu_socket.so_snd.sb_mbmax;
-	stp->st_rcv_cc = xpcb->xu_socket.so_rcv.sb_cc;
-	stp->st_rcv_mcnt = xpcb->xu_socket.so_rcv.sb_mcnt;
-	stp->st_rcv_ccnt = xpcb->xu_socket.so_rcv.sb_ccnt;
-	stp->st_rcv_hiwat = xpcb->xu_socket.so_rcv.sb_hiwat;
-	stp->st_rcv_lowat = xpcb->xu_socket.so_rcv.sb_lowat;
-	stp->st_rcv_mbcnt = xpcb->xu_socket.so_rcv.sb_mbcnt;
-	stp->st_rcv_mbmax = xpcb->xu_socket.so_rcv.sb_mbmax;
+	stp->st_snd.sbt_cc = xpcb->xu_socket.so_snd.sb_cc;
+	stp->st_snd.sbt_mcnt = xpcb->xu_socket.so_snd.sb_mcnt;
+	stp->st_snd.sbt_ccnt = xpcb->xu_socket.so_snd.sb_ccnt;
+	stp->st_snd.sbt_hiwat = xpcb->xu_socket.so_snd.sb_hiwat;
+	stp->st_snd.sbt_lowat = xpcb->xu_socket.so_snd.sb_lowat;
+	stp->st_snd.sbt_mbcnt = xpcb->xu_socket.so_snd.sb_mbcnt;
+	stp->st_snd.sbt_mbmax = xpcb->xu_socket.so_snd.sb_mbmax;
+	stp->st_rcv.sbt_cc = xpcb->xu_socket.so_rcv.sb_cc;
+	stp->st_rcv.sbt_mcnt = xpcb->xu_socket.so_rcv.sb_mcnt;
+	stp->st_rcv.sbt_ccnt = xpcb->xu_socket.so_rcv.sb_ccnt;
+	stp->st_rcv.sbt_hiwat = xpcb->xu_socket.so_rcv.sb_hiwat;
+	stp->st_rcv.sbt_lowat = xpcb->xu_socket.so_rcv.sb_lowat;
+	stp->st_rcv.sbt_mbcnt = xpcb->xu_socket.so_rcv.sb_mbcnt;
+	stp->st_rcv.sbt_mbmax = xpcb->xu_socket.so_rcv.sb_mbmax;
 	stp->st_pcb = (u_long)xpcb->xu_socket.so_pcb;
 	stp->st_vnode = (u_long)xpcb->xu_unp.unp_vnode;
 	stp->st_conn = (u_long)xpcb->xu_unp.unp_conn;
@@ -627,20 +627,20 @@
 	stp->st_qlen = so->so_qlen;
 	stp->st_incqlen = so->so_incqlen;
 	stp->st_qlimit = so->so_qlimit;
-	stp->st_snd_cc = so->so_snd.sb_cc;
-	stp->st_snd_mcnt = so->so_snd.sb_mcnt;
-	stp->st_snd_ccnt = so->so_snd.sb_ccnt;
-	stp->st_snd_hiwat = so->so_snd.sb_hiwat;
-	stp->st_snd_lowat = so->so_snd.sb_lowat;
-	stp->st_snd_mbcnt = so->so_snd.sb_mbcnt;
-	stp->st_snd_mbmax = so->so_snd.sb_mbmax;
-	stp->st_rcv_cc = so->so_rcv.sb_cc;
-	stp->st_rcv_mcnt = so->so_rcv.sb_mcnt;
-	stp->st_rcv_ccnt = so->so_rcv.sb_ccnt;
-	stp->st_rcv_hiwat = so->so_rcv.sb_hiwat;
-	stp->st_rcv_lowat = so->so_rcv.sb_lowat;
-	stp->st_rcv_mbcnt = so->so_rcv.sb_mbcnt;
-	stp->st_rcv_mbmax = so->so_rcv.sb_mbmax;
+	stp->st_snd.sbt_cc = so->so_snd.sb_cc;
+	stp->st_snd.sbt_mcnt = so->so_snd.sb_mcnt;
+	stp->st_snd.sbt_ccnt = so->so_snd.sb_ccnt;
+	stp->st_snd.sbt_hiwat = so->so_snd.sb_hiwat;
+	stp->st_snd.sbt_lowat = so->so_snd.sb_lowat;
+	stp->st_snd.sbt_mbcnt = so->so_snd.sb_mbcnt;
+	stp->st_snd.sbt_mbmax = so->so_snd.sb_mbmax;
+	stp->st_rcv.sbt_cc = so->so_rcv.sb_cc;
+	stp->st_rcv.sbt_mcnt = so->so_rcv.sb_mcnt;
+	stp->st_rcv.sbt_ccnt = so->so_rcv.sb_ccnt;
+	stp->st_rcv.sbt_hiwat = so->so_rcv.sb_hiwat;
+	stp->st_rcv.sbt_lowat = so->so_rcv.sb_lowat;
+	stp->st_rcv.sbt_mbcnt = so->so_rcv.sb_mbcnt;
+	stp->st_rcv.sbt_mbmax = so->so_rcv.sb_mbmax;
 	stp->st_pcb = (tp == NULL) ? (u_long)inp->inp_ppcb :
 	    (u_long)so->so_pcb;
 	stp->st_vnode = (u_long)0;

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#20 (text+ko) ====

@@ -62,21 +62,8 @@
 int		netstat_st_get_protocol(const struct socket_type *stp);
 const char	*netstat_st_get_name(const struct socket_type *stp);
 const char	*netstat_st_get_extname(const struct socket_type *stp);
-/* XXX: move snd/rcv-related properties into a new abstract type? */
-u_int		netstat_st_get_snd_cc(const struct socket_type *stp);
-u_int		netstat_st_get_snd_hiwat(const struct socket_type *stp);
-u_int		netstat_st_get_snd_lowat(const struct socket_type *stp);
-u_int		netstat_st_get_snd_mbcnt(const struct socket_type *stp);
-u_int		netstat_st_get_snd_mcnt(const struct socket_type *stp);
-u_int		netstat_st_get_snd_ccnt(const struct socket_type *stp);
-u_int		netstat_st_get_snd_mbmax(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_cc(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_hiwat(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_lowat(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_mbcnt(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_mcnt(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_ccnt(const struct socket_type *stp);
-u_int		netstat_st_get_rcv_mbmax(const struct socket_type *stp);
+const struct sockbuf_type *netstat_st_get_snd(const struct socket_type *stp);
+const struct sockbuf_type *netstat_st_get_rcv(const struct socket_type *stp);
 u_short		netstat_st_get_qlen(const struct socket_type *stp);
 u_short		netstat_st_get_incqlen(const struct socket_type *stp);
 u_short		netstat_st_get_qlimit(const struct socket_type *stp);
@@ -97,6 +84,14 @@
 		    char *addr, int addr_len);
 u_short		netstat_at_get_port(const struct addr_type *atp);
 const char	*netstat_at_get_portname(struct addr_type *atp);
+/* Socket buffers: */
+u_int		netstat_sbt_get_cc(const struct sockbuf_type *sbtp);
+u_int		netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp);
+u_int		netstat_sbt_get_lowat(const struct sockbuf_type *sbtp);
+u_int		netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp);
+u_int		netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp);
+u_int		netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp);
+u_int		netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp);
 __END_DECLS
 
 #endif /* !_NETSTAT_H_ */

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#18 (text+ko) ====

@@ -32,6 +32,17 @@
 	char			    at_portname[32];
 };
 
+/* Socket buffer type */
+struct sockbuf_type {
+	u_int		sbt_cc;  /* actual chars in the buffer */
+	u_int		sbt_mcnt;
+	u_int		sbt_ccnt;
+	u_int		sbt_hiwat;
+	u_int		sbt_lowat;
+	u_int		sbt_mbcnt;
+	u_int		sbt_mbmax;
+};
+
 /* internal defines for addr_type: */
 #define ADDRTYPE_ANONPORT		    0x01
 #define ADDRTYPE_NAME_RESOLVED		    0x02
@@ -58,20 +69,10 @@
 	struct addr_type    *st_address[SOCKTYPE_MAXADDRCNT];
 	int		    st_addrcnt;	    /* address count */
 
-	u_int		st_snd_cc;  /* actual chars in the send buffer */
-	u_int		st_snd_mcnt;
-	u_int		st_snd_ccnt;
-	u_int		st_snd_hiwat;
-	u_int		st_snd_lowat;
-	u_int		st_snd_mbcnt;
-	u_int		st_snd_mbmax;
-	u_int		st_rcv_cc;  /* actual chars in the receive buffer */
-	u_int		st_rcv_mcnt;
-	u_int		st_rcv_ccnt;
-	u_int		st_rcv_hiwat;
-	u_int		st_rcv_lowat;
-	u_int		st_rcv_mbcnt;
-	u_int		st_rcv_mbmax;
+	/* buffers */
+	struct sockbuf_type st_snd;
+	struct sockbuf_type st_rcv;
+
 	u_short		st_qlen;    /* number of unaccepted connections */
 	u_short		st_incqlen; /* number of unaccepted incomplete
 				       connections */

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#20 (text+ko) ====

@@ -350,88 +350,16 @@
 	return (stp->st_extname);
 }
 
-u_int
-netstat_st_get_rcv_cc(const struct socket_type *stp)
+const struct sockbuf_type *
+netstat_st_get_snd(const struct socket_type *stp)
 {
-	return (stp->st_rcv_cc);
+	return (&stp->st_snd);
 }
 
-u_int
-netstat_st_get_rcv_hiwat(const struct socket_type *stp)
+const struct sockbuf_type *
+netstat_st_get_rcv(const struct socket_type *stp)
 {
-	return (stp->st_rcv_hiwat);
-}
-
-u_int
-netstat_st_get_rcv_lowat(const struct socket_type *stp)
-{
-	return (stp->st_rcv_lowat);
-}
-
-u_int
-netstat_st_get_rcv_mbcnt(const struct socket_type *stp)
-{
-	return (stp->st_rcv_mbcnt);
-}
-
-u_int
-netstat_st_get_rcv_mcnt(const struct socket_type *stp)
-{
-	return (stp->st_rcv_mcnt);
-}
-
-u_int
-netstat_st_get_rcv_ccnt(const struct socket_type *stp)
-{
-	return (stp->st_rcv_ccnt);
-}
-
-u_int
-netstat_st_get_rcv_mbmax(const struct socket_type *stp)
-{
-	return (stp->st_rcv_mbmax);
-}
-
-u_int
-netstat_st_get_snd_cc(const struct socket_type *stp)
-{
-	return (stp->st_snd_cc);
-}
-
-u_int
-netstat_st_get_snd_hiwat(const struct socket_type *stp)
-{
-	return (stp->st_snd_hiwat);
-}
-
-u_int
-netstat_st_get_snd_lowat(const struct socket_type *stp)
-{
-	return (stp->st_snd_lowat);
-}
-
-u_int
-netstat_st_get_snd_mbcnt(const struct socket_type *stp)
-{
-	return (stp->st_snd_mbcnt);
-}
-
-u_int
-netstat_st_get_snd_mcnt(const struct socket_type *stp)
-{
-	return (stp->st_snd_mcnt);
-}
-
-u_int
-netstat_st_get_snd_ccnt(const struct socket_type *stp)
-{
-	return (stp->st_snd_ccnt);
-}
-
-u_int
-netstat_st_get_snd_mbmax(const struct socket_type *stp)
-{
-	return (stp->st_snd_mbmax);
+	return (&stp->st_rcv);
 }
 
 u_short
@@ -547,3 +475,45 @@
 	}
 	return (atp->at_portname);
 }
+
+u_int
+netstat_sbt_get_cc(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_cc);
+}
+
+u_int
+netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_hiwat);
+}
+
+u_int
+netstat_sbt_get_lowat(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_lowat);
+}
+
+u_int
+netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_mbcnt);
+}
+
+u_int
+netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_mcnt);
+}
+
+u_int
+netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_ccnt);
+}
+
+u_int
+netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp)
+{
+	return (sbtp->sbt_mbmax);
+}

==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#19 (text+ko) ====

@@ -203,8 +203,9 @@
 		    netstat_st_get_incqlen(stp), netstat_st_get_qlimit(stp));
 		printf("%-14.14s", buf1);
 	} else {
-		printf("%6u %6u ", netstat_st_get_rcv_cc(stp),
-		    netstat_st_get_snd_cc(stp));
+		printf("%6u %6u ",
+		    netstat_sbt_get_cc(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_cc(netstat_st_get_snd(stp)));
 	}
 	laddr = netstat_st_get_address(stp, 0); /* local */
 	faddr = netstat_st_get_address(stp, 1); /* foreign */
@@ -218,16 +219,18 @@
 		if (Lflag)
 			printf("%21s", " ");
 		printf("%6u %6u %6u %6u %6u %6u %6u %6u %6u %6u %6u %6u",
-		    netstat_st_get_rcv_mcnt(stp), netstat_st_get_snd_mcnt(stp),
-		    netstat_st_get_rcv_ccnt(stp), netstat_st_get_snd_ccnt(stp),
-		    netstat_st_get_rcv_hiwat(stp),
-		    netstat_st_get_snd_hiwat(stp),
-		    netstat_st_get_rcv_lowat(stp),
-		    netstat_st_get_snd_lowat(stp),
-		    netstat_st_get_rcv_mbcnt(stp),
-		    netstat_st_get_snd_mbcnt(stp),
-		    netstat_st_get_rcv_mbmax(stp),
-		    netstat_st_get_snd_mbmax(stp));
+		    netstat_sbt_get_mcnt(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_mcnt(netstat_st_get_snd(stp)),
+		    netstat_sbt_get_ccnt(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_ccnt(netstat_st_get_snd(stp)),
+		    netstat_sbt_get_hiwat(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_hiwat(netstat_st_get_snd(stp)),
+		    netstat_sbt_get_lowat(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_lowat(netstat_st_get_snd(stp)),
+		    netstat_sbt_get_mbcnt(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_mbcnt(netstat_st_get_snd(stp)),
+		    netstat_sbt_get_mbmax(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_mbmax(netstat_st_get_snd(stp)));
 	}
 	if (!Lflag) {
 		printf("%s", netstat_st_get_tcpstate(stp));

==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#15 (text+ko) ====

@@ -136,7 +136,8 @@
 	} else {
 		printf("%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx",
 		    netstat_st_get_pcb(stp), netstat_st_get_name(stp),
-		    netstat_st_get_rcv_cc(stp), netstat_st_get_snd_cc(stp),
+		    netstat_sbt_get_cc(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_cc(netstat_st_get_snd(stp)),
 		    netstat_st_get_vnode(stp), netstat_st_get_conn(stp),
 		    netstat_st_get_refs(stp), netstat_st_get_reflink(stp));
 	}

==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#5 (text+ko) ====

@@ -78,7 +78,8 @@
 		mvprintw(row, 0,
 		    "%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx",
 		    netstat_st_get_pcb(stp), netstat_st_get_name(stp),
-		    netstat_st_get_rcv_cc(stp), netstat_st_get_snd_cc(stp),
+		    netstat_sbt_get_cc(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_cc(netstat_st_get_snd(stp)),
 		    netstat_st_get_vnode(stp), netstat_st_get_conn(stp),
 		    netstat_st_get_refs(stp), netstat_st_get_reflink(stp));
 		if (netstat_st_get_addrcnt(stp) > 0) {
@@ -102,8 +103,9 @@
 		faddr = netstat_st_get_address(stp, 1);
 		mvprintw(row, 0,
 		    "%-5.5s %6u %6u %-17.17s %-6.6s %-17.17s %-6.6s %s",
-		    netstat_st_get_extname(stp), netstat_st_get_rcv_cc(stp),
-		    netstat_st_get_snd_cc(stp),
+		    netstat_st_get_extname(stp),
+		    netstat_sbt_get_cc(netstat_st_get_rcv(stp)),
+		    netstat_sbt_get_cc(netstat_st_get_snd(stp)),
 		    netstat_at_get_name(laddr),
 		    netstat_at_get_portname(laddr),
 		    netstat_at_get_name(faddr),



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906211917.n5LJHKVw050773>