comparison lisp/multicast.el @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents 2f8bb876ab1d
children
comparison
equal deleted inserted replaced
411:12e008d41344 412:697ef44129c6
1 ;;; multicast.el --- lisp frontend for multicast connections in XEmacs 1 ;;; multicast.el --- lisp frontend for multicast connections in XEmacs
2 2
3 ;; Copyright (C) 1997-2000 Didier Verna. 3 ;; Copyright (C) 1997-1998 Didier Verna.
4 4
5 ;; Author: Didier Verna <didier@xemacs.org> 5 ;; Author: Didier Verna <verna@inf.enst.fr>
6 ;; Maintainer: Didier Verna <didier@xemacs.org> 6 ;; Maintainer: Didier Verna <verna@inf.enst.fr>
7 ;; Created: Thu Dec 4 16:37:39 1997 7 ;; Created: Thu Dec 4 16:37:39 1997
8 ;; Last Revision: Mon Jan 19 19:10:50 1998 8 ;; Last Revision: Mon Jan 19 19:10:50 1998
9 ;; Current Version: 0.4 9 ;; Current Version: 0.4
10 ;; Keywords: dumped comm processes 10 ;; Keywords: dumped comm processes
11 11
12 ;; This file is part of XEmacs. 12 ;; This file is part of XEmacs.
13 13
14 ;; XEmacs is free software; you can redistribute it and/or modify 14 ;; XEmacs is free software; you can redistribute it and/or modify
15 ;; it under the terms of the GNU General Public License as published by 15 ;; it under the terms of the GNU General Public License as published by
16 ;; the Free Software Foundation; either version 2 of the License, or 16 ;; the Free Software Foundation; either version 2 of the License, or
17 ;; (at your option) any later version. 17 ;; (at your option) any later version.
18 18
19 ;; XEmacs is distributed in the hope that it will be useful, 19 ;; XEmacs is distributed in the hope that it will be useful,
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 ;; GNU General Public License for more details. 22 ;; GNU General Public License for more details.
23 23
24 ;; You should have received a copy of the GNU General Public License 24 ;; You should have received a copy of the GNU General Public License
25 ;; along with this program; if not, write to the Free Software 25 ;; along with this program; if not, write to the Free Software
26 ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 26 ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27 27
58 dest is an internet address between 224.0.0.0 and 239.255.255.255 58 dest is an internet address between 224.0.0.0 and 239.255.255.255
59 port is a communication port like in traditional unicast 59 port is a communication port like in traditional unicast
60 ttl is the time-to-live (15 for site, 63 for region and 127 for world). 60 ttl is the time-to-live (15 for site, 63 for region and 127 for world).
61 61
62 WARNING: it is *strongly* recommended to avoid using groups beginning with 62 WARNING: it is *strongly* recommended to avoid using groups beginning with
63 224 or 239. Such groups are considered 'admin' groups, and may 63 224 or 239. Such groups are considered 'admin' groups, and may
64 behave in a surprising way ..." 64 behave in a surprising way ..."
65 (let (dest port ttl) 65 (let (dest port ttl)
66 ;; We check only the general form of the multicast address. 66 ;; We check only the general form of the multicast address.
67 ;; The rest will be handled by the internal function. 67 ;; The rest will be handled by the internal function.
68 (string-match "^\\([0-9\\.]+\\)/\\([0-9]+\\)/\\([0-9]+\\)$" address) 68 (string-match "^\\([0-9\\.]+\\)/\\([0-9]+\\)/\\([0-9]+\\)$" address)
75 (error "invalid port specification.")) 75 (error "invalid port specification."))
76 (and (= 0 (setq ttl (string-to-int (match-string 3 address)))) 76 (and (= 0 (setq ttl (string-to-int (match-string 3 address))))
77 (error "invalid ttl specification.")) 77 (error "invalid ttl specification."))
78 (open-multicast-group-internal name buffer dest port ttl) 78 (open-multicast-group-internal name buffer dest port ttl)
79 )) 79 ))
80 80
81 ;;; multicast.el ends here 81 ;;; multicast.el ends here