org.jgroups.protocols

## Class DUPL

- java.lang.Object
- - org.jgroups.stack.Protocol
  - - org.jgroups.protocols.DUPL

    public class DUPL
    extends Protocol

Duplicates outgoing or incoming messages by copying them

Author:
  Bela Ban

### Field Summary

Fields
`protected boolean` `copy_multicast_msgs`
`protected boolean` `copy_unicast_msgs`
`protected int` `incoming_copies`
`protected int` `outgoing_copies`

### Fields inherited from class org.jgroups.stack.Protocol

`down_prot, ergonomics, id, log, name, stack, stats, up_prot`

### Constructor Summary

Constructors
Constructor and Description
`DUPL()`
`DUPL(boolean copy_multicast_msgs, boolean copy_unicast_msgs, int incoming_copies, int outgoing_copies)`

### Method Summary

Methods
`java.lang.Object` `down(Event evt)` An event is to be sent down the stack.
`int` `getIncomingCopies()`
`int` `getOutgoingCopies()`
`boolean` `isCopyMulticastMsgs()`
`boolean` `isCopyUnicastMsgs()`
`void` `setCopyMulticastMsgs(boolean copy_multicast_msgs)`
`void` `setCopyUnicastMsgs(boolean copy_unicast_msgs)`
`void` `setIncomingCopies(int incoming_copies)`
`void` `setOutgoingCopies(int outgoing_copies)`
`java.lang.Object` `up(Event evt)` An event was received from the layer below.

### Methods inherited from class org.jgroups.stack.Protocol

`destroy, downThreadEnabled, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getId, getLevel, getName, getProperties, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getValue, init, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, resetStats, setDownProtocol, setErgonomics, setId, setLevel, setProperties, setPropertiesInternal, setProperty, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, start, statsEnabled, stop, upThreadEnabled`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### incoming_copies

    protected int incoming_copies

#### outgoing_copies

    protected int outgoing_copies

#### copy_unicast_msgs

    protected boolean copy_unicast_msgs

#### copy_multicast_msgs

    protected boolean copy_multicast_msgs

### Constructor Detail

#### DUPL

    public DUPL()

#### DUPL

    public DUPL(boolean copy_multicast_msgs,
        boolean copy_unicast_msgs,
        int incoming_copies,
        int outgoing_copies)

### Method Detail

#### getIncomingCopies

    public int getIncomingCopies()

#### setIncomingCopies

    public void setIncomingCopies(int incoming_copies)

#### getOutgoingCopies

    public int getOutgoingCopies()

#### setOutgoingCopies

    public void setOutgoingCopies(int outgoing_copies)

#### isCopyUnicastMsgs

    public boolean isCopyUnicastMsgs()

#### setCopyUnicastMsgs

    public void setCopyUnicastMsgs(boolean copy_unicast_msgs)

#### isCopyMulticastMsgs

    public boolean isCopyMulticastMsgs()

#### setCopyMulticastMsgs

    public void setCopyMulticastMsgs(boolean copy_multicast_msgs)

#### down

    public java.lang.Object down(Event evt)

Description copied from class: `Protocol`
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 `down_prot.down()`. 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 `up_prot.up()`.

Overrides:
  `down` in class `Protocol`

#### up

    public java.lang.Object up(Event evt)

Description copied from class: `Protocol`
An event was received from the layer below. Usually the current layer will want to examine the event type and - depending on its type - perform some computation (e.g. removing headers from a MSG event type, or updating the internal membership list when receiving a VIEW_CHANGE event). Finally the event is either a) discarded, or b) an event is sent down the stack using `down_prot.down()` or c) the event (or another event) is sent up the stack using `up_prot.up()`.

Overrides:
  `up` in class `Protocol`