solar.service.multicast
Class ScribeMulticastService

java.lang.Object
  |
  +--solar.service.BaseService
        |
        +--solar.service.multicast.ScribeMulticastService
All Implemented Interfaces:
EventHandler, MulticastService, RequestHandler, Service

public class ScribeMulticastService
extends BaseService
implements MulticastService

This multicast service adapts the Scribe substrate based on Pastry.

Version:
$Id: ScribeMulticastService.java,v 1.3 2003/09/25 21:37:39 glchen Exp $
Author:
Guanling Chen

Nested Class Summary
(package private)  class ScribeMulticastService.ScribeMember
           
 
Field Summary
protected  rice.pastry.security.Credentials _cred
           
protected  java.util.Hashtable _members
           
protected  PastryTransport _pastry
           
protected  rice.scribe.Scribe _scribe
           
 
Fields inherited from class solar.service.BaseService
_inited, _manager, _name
 
Constructor Summary
ScribeMulticastService()
           
 
Method Summary
 void create(Id groupId)
          Create a multicast group.
 void destroy(Id groupId)
          Destroy a multicast group.
 void initDependents()
          Initialize dependent services here.
 void join(Id groupId, MulticastMember mcmember)
          Join a multicast group.
 void leave(Id groupId, MulticastMember mcmember)
          Leave a multicast group.
 void multicast(Id groupId, Event evt)
          Multicast an application-data unit to all group memebers.
 
Methods inherited from class solar.service.BaseService
assertInited, getDependentService, getName, getServiceManager, handleDispatchUnit, handleEvent, handleEvent, handleRequest, hasInited, init, init, setInited, setName, setServiceManager, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface solar.service.Service
getName, getServiceManager, handleDispatchUnit, hasInited, init, setName, setServiceManager, start, stop
 
Methods inherited from interface solar.api.EventHandler
handleEvent
 
Methods inherited from interface solar.api.RequestHandler
handleRequest
 

Field Detail

_scribe

protected rice.scribe.Scribe _scribe

_cred

protected rice.pastry.security.Credentials _cred

_pastry

protected PastryTransport _pastry

_members

protected java.util.Hashtable _members
Constructor Detail

ScribeMulticastService

public ScribeMulticastService()
Method Detail

initDependents

public void initDependents()
                    throws ServiceException
Description copied from interface: Service
Initialize dependent services here.

Specified by:
initDependents in interface Service
Overrides:
initDependents in class BaseService
ServiceException

create

public void create(Id groupId)
            throws MulticastException
Description copied from interface: MulticastService
Create a multicast group.

Specified by:
create in interface MulticastService
MulticastException

destroy

public void destroy(Id groupId)
             throws MulticastException
Description copied from interface: MulticastService
Destroy a multicast group.

Specified by:
destroy in interface MulticastService
MulticastException

join

public void join(Id groupId,
                 MulticastMember mcmember)
          throws MulticastException
Description copied from interface: MulticastService
Join a multicast group.

Specified by:
join in interface MulticastService
MulticastException

leave

public void leave(Id groupId,
                  MulticastMember mcmember)
           throws MulticastException
Description copied from interface: MulticastService
Leave a multicast group.

Specified by:
leave in interface MulticastService
MulticastException

multicast

public void multicast(Id groupId,
                      Event evt)
               throws MulticastException
Description copied from interface: MulticastService
Multicast an application-data unit to all group memebers.

Specified by:
multicast in interface MulticastService
MulticastException