Re: [RFA] Remote UDP support

Daniel Jacobowitz
2002-05-09T00:11:18Z

On Wed, May 08, 2002 at 04:44:50PM -0700, Michael Snyder wrote:
> Daniel Jacobowitz wrote:
> >
> > A patch for this feature was supported a year or so ago, but never went in.
> > I had a need for this a couple of days ago, so I did it over from scratch;
> > it's much easier now than it was at the time. The name of ser-tcp.c is a
> > bit wrong after this patch; I can either rename the file to ser-net.c or
> > just update some comments to match. Got a preference? Otherwise OK?
> >
> > --
> > Daniel Jacobowitz Carnegie Mellon University
> > MontaVista Software Debian GNU/Linux Developer
>
> Wow! I love the simplicity of the change. Nice job.

I actually leave non-blocking connects enabled for UDP, because it kept
the changes smaller. It's kind of silly, if you think about it, though :)

> I'm not sure if I understand all the ramifications, though.
> If you call net_open, how is it going to decide whether
> to use udp or tcp? I imagine we would want it to use
> tcp by preference, if possible.

Ack, I forgot to include the accompanying documentation changes. Bad
Dan! The gist is that you can say "host:port" or ":port" and get TCP,
"udp:host:port" or "udp::port" and get UDP, or "tcp:host:port" or
"tcp::port" and get TCP. So you can connect by TCP to a host named
UDP, etc.

Here's the matching documentation patch.

--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer

2002-05-08 Daniel Jacobowitz <drow@mvista.com>

* gdb.texinfo (Debug Session): Document new `udp:' and `tcp:'
options for `target remote'.

Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.98
diff -u -r1.98 gdb.texinfo
--- gdb.texinfo 4 May 2002 16:00:30 -0000 1.98
+++ gdb.texinfo 9 May 2002 00:10:17 -0000
@@ -10485,7 +10485,8 @@

@cindex TCP port, @code{target remote}
To use a TCP connection, use an argument of the form
-@code{@var{host}:port}. For example, to connect to port 2828 on a
+@code{@var{host}:@var{port}} or @code{tcp:@var{host}:@var{port}}.
+For example, to connect to port 2828 on a
terminal server named @code{manyfarms}:

@smallexample
@@ -10503,6 +10504,15 @@
@noindent

Note that the colon is still required here.
+
+@cindex UDP port, @code{target remote}
+To use a UDP connection, use an argument of the form
+@code{udp:@var{host}:@var{port}}. For example, to connect to UDP port 2828
+on a terminal server named @code{manyfarms}:
+
+@smallexample
+target remote udp:manyfarms:2828
+@end smallexample
@end enumerate

Now you can use all the usual commands to examine and change data and to