org.jgroups.protocols

Class QUEUE


public class QUEUE
extends Protocol

Queuing layer. Upon reception of event START_QUEUEING, all events traveling through this layer upwards/downwards (depending on direction of event) will be queued. Upon reception of a STOP_QUEUEING event, all events will be released. Finally, the queueing flag is reset. When queueing, only event STOP_QUEUEING (received up or downwards) will be allowed to release queueing.

Author:
Bela Ban

Nested Class Summary

static interface
QUEUE.Observer

Field Summary

Fields inherited from class org.jgroups.stack.Protocol

down_handler, down_prot, down_queue, down_thread, down_thread_prio, log, observer, props, stack, up_handler, up_prot, up_queue, up_thread, up_thread_prio

Method Summary

void
down(Event evt)
An event is to be sent down the stack.
Vector
getDownVector()
String
getName()
All protocol names have to be unique !
boolean
getQueueingDown()
boolean
getQueueingUp()
Vector
getUpVector()
Vector
providedDownServices()
List of events that are provided to layers below (they will be handled when sent down from below).
Vector
providedUpServices()
List of events that are provided to layers above (they will be handled when sent down from above).
void
setObserver(QUEUE.Observer observer)
Only 1 observer is allowed.
void
up(Event evt)
Queues or passes up events.

Methods inherited from class org.jgroups.stack.Protocol

destroy, down, getDownProtocol, getDownQueue, getName, getProperties, getUpProtocol, getUpQueue, handleSpecialDownEvent, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setProperties, setPropertiesInternal, setProtocolStack, setUpProtocol, start, startDownHandler, startUpHandler, stop, stopInternal, up

Method Details

down

public void down(Event evt)
An event is to be sent down the stack. The layer may want to examine its type and perform some action on it, depending on the event's type. If the event is a message MSG, then the layer may need to add a header to it (or do nothing at all) before sending it down the stack using passDown(). In case of a GET_ADDRESS event (which tries to retrieve the stack's address from one of the bottom layers), the layer may need to send a new response event back up the stack using passUp().
Overrides:
down in interface Protocol


getDownVector

public Vector getDownVector()


getName

public String getName()
All protocol names have to be unique !
Overrides:
getName in interface Protocol


getQueueingDown

public boolean getQueueingDown()


getQueueingUp

public boolean getQueueingUp()


getUpVector

public Vector getUpVector()


providedDownServices

public Vector providedDownServices()
List of events that are provided to layers below (they will be handled when sent down from below).
Overrides:
providedDownServices in interface Protocol

Returns:
Vector (of Integers)


providedUpServices

public Vector providedUpServices()
List of events that are provided to layers above (they will be handled when sent down from above).
Overrides:
providedUpServices in interface Protocol

Returns:
Vector (of Integers)


setObserver

public void setObserver(QUEUE.Observer observer)
Only 1 observer is allowed. More than one might slow down the system. Will be called when an event is queued (up or down)


up

public void up(Event evt)
Queues or passes up events. No queue sync. necessary, as this method is never called concurrently.
Overrides:
up in interface Protocol


Copyright B) 2001,2002 www.jgroups.com . All Rights Reserved.