Re: [gnome-network]RE: Including libgnetwork in 2.5.0


On Tue, 2003-10-28 at 09:13, Murray Cumming Comneon com wrote:
> Can you explain very simply what it's useful for, and when it is more useful
> than the other networky APIs?
the idea is that there are a lot of network APIs out there, but none is
standardized enough to be in the GNOME platform. When we re-started
gnome-network, we wanted to fix that, by providing a rule-them-all
library (thanks fcrozat for the term :-) to be included in the GNOME
platform. We tried to contact gnet's maintainer, but didn't get any
answer, so then we found libgtcpsocket, and asked James about renaming
it to libgnetwork and push it for inclusion in GNOME 2.6. We chose
libgtcpsocket because it is the best networking API I've found myself.
It's GObject-based (as opposed to gnet, which isn't) and provides a very
good base for building more high-level networking services.

>  For instance, it looks like it would be useful
> for implementing things like web servers, ssh terminal connections, and
> maybe for implementing networking protocols (e.g. ssh, ftp?), on top of TCP.
yes, but not only for servers, but also for clients. One of the examples
of this is libgircclient, in CVS also, which uses libgtcpsocket (still)
for implementing an IRC client. This libgircclient might be added also
to libgnetwork.

> Are you trying to add this to the GNOME Development Platform, or just to the
> GNOME Desktop so that gnome-network can use it?
I'd vote for the platform, if possible. If not, just to the desktop so
that gnome-network can use it. But I think it would be a good idea to
provide a standard networking API in the GNOME platform, as many other
OSes/environments provide.

> I like the idea of this API existing, because I tend to work in companies
> that constantly reimplement this stuff badly. However, I'm not sure
> personally how useful it is to the typical GNOME application.
well, if we push it right into the platform, we might come to having all
GNOME applications using this for their networking access (evolution,
xchat, gnome-blog, etc, etc, etc), which would be a good move.

> > It's currently broken due to the massive API/code 
> > organization changes I spent the last week on, but it does 
> > build, and will definately be stable
> > (code- and API-wise) enough to use before 2.6.0 (The stuff 
> > that's left is filling in the missing pieces, and some thread 
> > issues re: closing sockets).
> > 
> > The pros/cons vs some other networking libs:
> > 
> > GNet:
> GNet == libgnetwork, right?
no, gnet ->

> >     + Uses GObject.
> >     + Multi-threaded.
> >     + Automatic proxy traversal (nearly transparent to apps).
> >     + Easily extensible.
> >     + GNUTLS *or* OpenSSL.
> >     - Doesn't handle URIs or UDP (yet).
> >     - Doesn't support UDP or Unix sockets (yet).
> Are these "yet" items planned for GNOME 2.6, or later? API/ABI freeze is on
> December 8th, by the way:
I intend to integrate, if time permits, gmdns into this library, which
uses, AFAIK, UDP, so we might probably have a UDP implementation by

About UNIX sockets, I don't know what James is planning, but it might be
a very good idea to add it.

> > GTcpSocket:
> >     + Much cleaner object hierarchy & signals (using
> >       GNetwork{Connection,Server}Iface).
> This seems to be part of libgnetwork now anyway.
it's been renamed, and it is being changed to not only allow TCP, but
any sort of network connection. That's what the 'Much cleaner object
hierarchy' talks about.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]