org.sblim.slp.internal

Class IPv6MulticastAddressFactory


public class IPv6MulticastAddressFactory
extends java.lang.Object

 SVRLOC group-id : FF0X:0:0:0:0:0:0:116
  - SRVTYPERQST Service Type Request
  - ATTRRQST Attribute Request
  - UA sends too
  
 SVRLOC-DA group-id : FF0X:0:0:0:0:0:0:123
  - SRVRQST for the "service:directory-agent" service type
  - UA sends too
 
 1000 - 13FF: SRVRQST : FF0X:0:0:0:0:0:1:....
  - the ID is the hashcode of the Service Type string used in the SrvRqst.
  - UA sends too
 

Method Summary

static InetAddress
get(int pScope, int pSrvHash)
get
static InetAddress
get(int pScope, ServiceType pSrvType)
get
static InetAddress
get(int pScope, SLPMessage pMsg)
get
static InetAddress
getSrvLocAddress(int pScope)
getSrvLocAddress
static int
getSrvTypeHash(ServiceType pServiceType)
  unsigned long slp_hash(const char *pc, unsigned int len) {
    unsigned long h = 0;
    while (len-- != 0) {
        h *= 33;
        h += *pc++;
    }
    return (0x3FF & h); // round to a range of 0-1023
   }
 

Method Details

get

public static InetAddress get(int pScope,
                              int pSrvHash)
            throws UnknownHostException
get
Parameters:
pScope -
pSrvHash -
Returns:
InetAddress

get

public static InetAddress get(int pScope,
                              ServiceType pSrvType)
            throws UnknownHostException
get
Parameters:
pScope -
pSrvType -
Returns:
InetAddress

get

public static InetAddress get(int pScope,
                              SLPMessage pMsg)
            throws UnknownHostException
get
Parameters:
pScope -
pMsg -
Returns:
InetAddress

getSrvLocAddress

public static InetAddress getSrvLocAddress(int pScope)
            throws UnknownHostException
getSrvLocAddress
Parameters:
pScope -
Returns:
InetAddress

getSrvTypeHash

public static int getSrvTypeHash(ServiceType pServiceType)
  unsigned long slp_hash(const char *pc, unsigned int len) {
    unsigned long h = 0;
    while (len-- != 0) {
        h *= 33;
        h += *pc++;
    }
    return (0x3FF & h); // round to a range of 0-1023
   }
 
Parameters:
pServiceType -
Returns:
int

Copyright © 2005, 2009 IBM Corporation. All Rights Reserved.