Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 29292 invoked from network); 17 Dec 2004 18:06:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 17 Dec 2004 18:06:34 -0000 Received: (qmail 68561 invoked by uid 500); 17 Dec 2004 18:06:33 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 68248 invoked by uid 500); 17 Dec 2004 18:06:32 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 68224 invoked by uid 99); 17 Dec 2004 18:06:31 -0000 Received-SPF: pass (hermes.apache.org: local policy) X-AuthUser: chip@force-elite.com Message-ID: <41C2FF86.9000002@force-elite.com> Date: Fri, 17 Dec 2004 07:47:18 -0800 From: Paul Querna User-Agent: Mozilla Thunderbird 1.0 (Macintosh/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@apr.apache.org Subject: multicast? Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N So, I have a ~70% done implementation this 'apr_mcast' api. I am on air planes all day today, so hopefully I can finish up the code. Any comments on the following API: /** * @defgroup apr_mcast IP Multicast * @{ */ /** * Join a Multicast Group * @param sock The socket to join a multicast group * @param join The address of the multicast group to join * @param iface Address of the interface to use. If NULL is passed, the * defautl multicast interface will be used. (OS Dependent) */ APR_DECLARE(apr_status_t) apr_mcast_join(apr_socket_t *sock, apr_sockaddr_t *join, apr_sockaddr_t *iface); /** * Leave a Multicast Group. All arguments must be the same as * apr_mcast_join. * @param sock The socket to leave a multicast group * @param join The address of the multicast group to join * @param iface Address of the interface to use. If NULL is passed, the * defautl multicast interface will be used. (OS Dependent) */ APR_DECLARE(apr_status_t) apr_mcast_leave(apr_socket_t *sock, apr_sockaddr_t *leave, apr_sockaddr_t *iface); /** * Set the Multicast Time to Live (ttl) for a socket. * @param sock The socket to set the multicast ttl * @param ttl Time to live to Assign. 0-255, default=1 * @remark If the TTL is 0, packets will only be seen by sockets on * the local machine, with multicast loopback enabled. */ APR_DECLARE(apr_status_t) apr_mcast_ttl(apr_socket_t *sock, apr_byte_t ttl); /** * Enable or disable IP Multicast Loopback * @param sock The socket to set multicast loopback * @param opt 0=disable, 1=enable */ APR_DECLARE(apr_status_t) apr_mcast_loopback(apr_socket_t *sock, apr_byte_t opt); /** @} */ Not sure if we want a different base name.. 'apr_socket_multicast' vs apr_socket_mcast' vs 'apr_multicast'. -Paul