[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNU Serveez 0.2.2 available
From: |
Thien-Thi Nguyen |
Subject: |
GNU Serveez 0.2.2 available |
Date: |
Mon, 02 Dec 2013 11:30:39 +0100 |
release notes:
Bugfixes, doc improvements, minor new stuff.
We welcome Eric Bavier to the THANKS file.
One notable glitch: the tarball does not include updated NEWS
(PEBKAC, sigh). This message and home page do, however.
Lastly, the home page has been overhauled to use the standard
GNU template (w/ server-side includes, etc), version 1.75.
Good-bye HTML 2!
thi
README excerpt:
GNU Serveez is a server framework. It provides routines and help
for implementing IP-based servers (currently TCP, UDP and ICMP).
It supports named pipes for all connection-oriented protocols.
We think it is worth the effort because many people need server
functionality within their applications. However, many people
experience problems with select(2) or poll(2) loops, and with
non-blocking operations.
GNU Serveez demonstrates various aspects of advanced network
programming in a portable manner. It is known to compile and
run on GNU/Linux systems, as well as on other 32-bit and 64-bit
flavours of Unix and on Microsoft Windows (9x/ME/NT/2000/XP).
You can use it for implementing your own servers or for
understanding how certain network services and operations work.
NEWS for 0.2.2 (2013-12-02):
- bugfixes
- make SMOB/C-object correspondance precise
Previously, the "socket", "server" and "servertype" SMOBs were
consed on-demand, that is, on every callback invocation, thus
defeating Scheme functionality requiring stable object identity
(notably, object properties).
Now, Scheme objects persist "normally" and the correspondance
between Scheme and the underlying C object is precise; when the
C object undergoes "finalization", the Scheme object likewise
undergoes "invalidation" -- breaking the correspondance -- but
otherwise leaving the identity intact. The upshot is that
object properties will still work, although passing the Scheme
object to procs that expect to access the underlying C object
will have undefined (crash or demons-from-nose or ...) behavior.
- libserveez/coservers don't touch ‘svz_socket_t.data’
The ‘data’ member of ‘svz_socket_t’ is for exclusive use by the
servers (clients of libserveez). Regardless, if you wish to run
multiple servers bound to one port, those still need to find a
way to share (i.e., not clobber each other's) ‘sock->data’.
The Guile server explicitly avoids ‘sock->data’ as well, so the
only thing you need to worry about is builtin servers written
in C.
- removed
- Scheme user-data procs
These procs are no longer provided:
svz:sock:data
svz:server:state-ref
svz:server:state-set!
svz:server:state->hash
The Scheme way is to use object properties. For example, the
src/guile-server/{mandel,icecast}-* code now does just that.
- Guile 1.3.4 support
This was announced in Serveez 0.2.1 (2013-03-24) NEWS.
- changes to libserveez
- new API element: ‘svz_sock_prefree’
This function can be used to register/unregister a function to
be called by the libserveez core immediately prior to freeing a
‘svz_socket_t’ object.
Clients that "wrap" ‘svz_socket_t’ can use it to update the
validity of the C object wrt the outer object. (This is what
the Guile server does, in fact -- see src/guile-server.c.)
- version spec bump: ‘2:0:1’
As a consequence of the new API element, the libserveez version
spec is now ‘2:0:1’.
(info "(libtool) Updating version info")
Briefly, this means that this libserveez is backward-compatible
w/ that of GNU Serveez 0.2.1.
- new option: ‘serveez --list-servers’
(Short form: ‘-L’.) This displays prefix and description for
each builtin server, with a special case for the Guile server.
- ‘serveez --help’ shows home page / "gethelp" info
- ‘serveez --version’ shows copyright / license
This is for compliance w/ the GNU coding standards.
(info "(standards) --version")
(info "(standards) --help")
- documentation more spacious
There are now blank lines between address@hidden and before
address@hidden, address@hidden and address@hidden blocks. Texinfo 4.13
used to add them automagically, but 5.x is not so generous.
- maintainer tools upgraded
- GNU Automake 1.14
- GNU Texinfo 5.2
- Guile-BAUX 20130913.1631.fcfbe70
tarballs and detached signature:
http://ftpmirror.gnu.org/serveez/serveez-0.2.2.tar.lz
http://ftpmirror.gnu.org/serveez/serveez-0.2.2.tar.lz.sig
http://ftpmirror.gnu.org/serveez/serveez-0.2.2.tar.xz
http://ftpmirror.gnu.org/serveez/serveez-0.2.2.tar.xz.sig
source code:
http://git.savannah.gnu.org/cgit/serveez.git?h=p
homepage:
http://www.gnu.org/software/serveez/
--
Thien-Thi Nguyen
GPG key: 4C807502
(if you're human and you know it)
read my lisp: (responsep (questions 'technical)
(not (via 'mailing-list)))
=> nil
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- GNU Serveez 0.2.2 available,
Thien-Thi Nguyen <=