org.red5.server.net.rtmp.event

## Class Ping

- java.lang.Object
- - org.red5.server.net.rtmp.event.BaseEvent
  - - org.red5.server.net.rtmp.event.Ping

All Implemented Interfaces:
  Externalizable, Serializable, IEvent, IRTMPEvent, Constants

    public class Ping
    extends BaseEvent

Ping event, actually combination of different events. This is also known as a user control message.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.red5.server.api.event.IEvent

`IEvent.Type`

### Field Summary

Fields
`static short` `CLIENT_BUFFER` Client buffer.
`static short` `PING_CLIENT` Client ping event.
`static short` `PING_SWF_VERIFY` SWF verification ping 0x001a
`static short` `PONG_SERVER` Server response event.
`static short` `PONG_SWF_VERIFY` SWF verification pong 0x001b
`static short` `RECORDED_STREAM` Recorded stream.
`static short` `STREAM_BEGIN` Stream begin / clear event
`static short` `STREAM_DRY` Stream is empty
`static short` `STREAM_PLAYBUFFER_CLEAR` Stream EOF, playback of requested stream is completed.
`static int` `UNDEFINED` Event type is undefined
`static short` `UNKNOWN_5` One more unknown event
`static short` `UNKNOWN_8` One more unknown event

### Fields inherited from class org.red5.server.net.rtmp.event.BaseEvent

`header, object, refcount, source, timestamp`

### Fields inherited from interface org.red5.server.net.rtmp.message.Constants

`HANDSHAKE_SIZE, HEADER_CONTINUE, HEADER_NEW, HEADER_SAME_SOURCE, HEADER_TIMER_CHANGE, MEDIUM_INT_MAX, SO_CLIENT_CLEAR_DATA, SO_CLIENT_DELETE_DATA, SO_CLIENT_INITIAL_DATA, SO_CLIENT_SEND_MESSAGE, SO_CLIENT_STATUS, SO_CLIENT_UPDATE_ATTRIBUTE, SO_CLIENT_UPDATE_DATA, SO_CONNECT, SO_DELETE_ATTRIBUTE, SO_DISCONNECT, SO_SEND_MESSAGE, SO_SET_ATTRIBUTE, SOURCE_TYPE_LIVE, SOURCE_TYPE_VOD, TYPE_ABORT, TYPE_AGGREGATE, TYPE_AUDIO_DATA, TYPE_BYTES_READ, TYPE_CHUNK_SIZE, TYPE_CLIENT_BANDWIDTH, TYPE_EDGE_ORIGIN, TYPE_FLEX_MESSAGE, TYPE_FLEX_SHARED_OBJECT, TYPE_FLEX_STREAM_SEND, TYPE_INVOKE, TYPE_NOTIFY, TYPE_PING, TYPE_SERVER_BANDWIDTH, TYPE_SHARED_OBJECT, TYPE_STREAM_METADATA, TYPE_VIDEO_DATA`

### Constructor Summary

Constructors
Constructor and Description
`Ping()` Constructs a new Ping.
`Ping(Ping in)`
`Ping(short eventType, int value2)`
`Ping(short eventType, int value2, int value3)`
`Ping(short eventType, int value2, int value3, int value4)`

### Method Summary

Methods
`protected void` `doRelease()`
`byte` `getDataType()` Getter for data type
`String` `getDebug()` Getter for property 'debug'.
`short` `getEventType()` Returns the events sub-type
`int` `getValue2()` Getter for property 'value2'.
`int` `getValue3()` Getter for property 'value3'.
`int` `getValue4()` Getter for property 'value4'.
`void` `readExternal(ObjectInput in)`
`protected void` `releaseInternal()` Release event
`void` `setDebug(String debug)` Setter for property 'debug'.
`void` `setEventType(short eventType)` Sets the events sub-type
`void` `setValue2(int value2)` Setter for property 'value2'.
`void` `setValue3(int value3)` Setter for property 'value3'.
`void` `setValue4(int value4)` Setter for property 'value4'.
`String` `toString()`
`void` `writeExternal(ObjectOutput out)`

### Methods inherited from class org.red5.server.net.rtmp.event.BaseEvent

`getHeader, getObject, getSource, getSourceType, getTimestamp, getType, hasSource, release, retain, setHeader, setSource, setSourceType, setTimestamp, setType`

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

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

### Field Detail

#### STREAM_BEGIN

    public static final short STREAM_BEGIN

Stream begin / clear event

See Also:
  Constant Field Values

#### STREAM_PLAYBUFFER_CLEAR

    public static final short STREAM_PLAYBUFFER_CLEAR

Stream EOF, playback of requested stream is completed.

See Also:
  Constant Field Values

#### STREAM_DRY

    public static final short STREAM_DRY

Stream is empty

See Also:
  Constant Field Values

#### CLIENT_BUFFER

    public static final short CLIENT_BUFFER

Client buffer. Sent by client to indicate its buffer time in milliseconds.

See Also:
  Constant Field Values

#### RECORDED_STREAM

    public static final short RECORDED_STREAM

Recorded stream. Sent by server to indicate a recorded stream.

See Also:
  Constant Field Values

#### UNKNOWN_5

    public static final short UNKNOWN_5

One more unknown event

See Also:
  Constant Field Values

#### PING_CLIENT

    public static final short PING_CLIENT

Client ping event. Sent by server to test if client is reachable.

See Also:
  Constant Field Values

#### PONG_SERVER

    public static final short PONG_SERVER

Server response event. A clients ping response.

See Also:
  Constant Field Values

#### UNKNOWN_8

    public static final short UNKNOWN_8

One more unknown event

See Also:
  Constant Field Values

#### PING_SWF_VERIFY

    public static final short PING_SWF_VERIFY

SWF verification ping 0x001a

See Also:
  Constant Field Values

#### PONG_SWF_VERIFY

    public static final short PONG_SWF_VERIFY

SWF verification pong 0x001b

See Also:
  Constant Field Values

#### UNDEFINED

    public static final int UNDEFINED

Event type is undefined

See Also:
  Constant Field Values

### Constructor Detail

#### Ping

    public Ping()

Constructs a new Ping.

#### Ping

    public Ping(short eventType,
        int value2)

#### Ping

    public Ping(short eventType,
        int value2,
        int value3)

#### Ping

    public Ping(short eventType,
        int value2,
        int value3,
        int value4)

#### Ping

    public Ping(Ping in)

### Method Detail

#### getDataType

    public byte getDataType()

Getter for data type

Specified by:
  `getDataType` in interface `IRTMPEvent`
Specified by:
  `getDataType` in class `BaseEvent`
Returns:
  Data type

#### getEventType

    public short getEventType()

Returns the events sub-type

Returns:
  the event type

#### setEventType

    public void setEventType(short eventType)

Sets the events sub-type

Parameters:
  `eventType` -

#### getValue2

    public int getValue2()

Getter for property 'value2'.

Returns:
  Value for property 'value2'.

#### setValue2

    public void setValue2(int value2)

Setter for property 'value2'.

Parameters:
  `value2` - Value to set for property 'value2'.

#### getValue3

    public int getValue3()

Getter for property 'value3'.

Returns:
  Value for property 'value3'.

#### setValue3

    public void setValue3(int value3)

Setter for property 'value3'.

Parameters:
  `value3` - Value to set for property 'value3'.

#### getValue4

    public int getValue4()

Getter for property 'value4'.

Returns:
  Value for property 'value4'.

#### setValue4

    public void setValue4(int value4)

Setter for property 'value4'.

Parameters:
  `value4` - Value to set for property 'value4'.

#### getDebug

    public String getDebug()

Getter for property 'debug'.

Returns:
  Value for property 'debug'.

#### setDebug

    public void setDebug(String debug)

Setter for property 'debug'.

Parameters:
  `debug` - Value to set for property 'debug'.

#### doRelease

    protected void doRelease()

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### releaseInternal

    protected void releaseInternal()

Release event

Specified by:
  `releaseInternal` in class `BaseEvent`

#### readExternal

    public void readExternal(ObjectInput in)
                      throws IOException,
                             ClassNotFoundException

Specified by:
  `readExternal` in interface `Externalizable`
Overrides:
  `readExternal` in class `BaseEvent`
Throws:
  `IOException`
  `ClassNotFoundException`

#### writeExternal

    public void writeExternal(ObjectOutput out)
                       throws IOException

Specified by:
  `writeExternal` in interface `Externalizable`
Overrides:
  `writeExternal` in class `BaseEvent`
Throws:
  `IOException`