Package org.red5.server.net.rtmp.event
Class BaseEvent
java.lang.Object
org.red5.server.net.rtmp.event.BaseEvent
- All Implemented Interfaces:
Externalizable,Serializable,IEvent,IRTMPEvent,Constants
- Direct Known Subclasses:
Abort,Aggregate,AudioData,BytesRead,ChunkSize,ClientBW,ClientInvokeEvent,ClientNotifyEvent,Notify,Ping,ServerBW,Unknown,VideoData
Base abstract class for all RTMP events
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.red5.server.api.event.IEvent
IEvent.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final booleanprotected HeaderEvent RTMP packet headerprotected org.slf4j.Loggerprotected ObjectEvent target objectprotected AtomicIntegerEvent references countprotected IEventListenerEvent listenerprivate byteSource typeprotected intEvent timestampprivate IEvent.TypeEvent typeFields 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
ConstructorsConstructorDescriptionBaseEvent(IEvent.Type type) Create new event of given typeBaseEvent(IEvent.Type type, IEventListener source) Create new event of given type -
Method Summary
Modifier and TypeMethodDescriptionabstract byteGetter for data typeGetter for headerReturns event context objectReturns event listenerbyteGetter for source typeintGetter for timestampgetType()Returns even typebooleanWhether event has source (event listener(s))voidvoidrelease()Hook to free buffers allocated by the event.protected abstract voidRelease eventvoidretain()Retain eventvoidSetter for headervoidsetSource(IEventListener source) Setter for sourcevoidsetSourceType(byte sourceType) Setter for source typevoidsetTimestamp(int timestamp) Setter for timestampvoidsetType(IEvent.Type type) void
-
Field Details
-
log
protected org.slf4j.Logger log -
allocationDebugging
private static final boolean allocationDebugging- See Also:
-
type
Event type -
sourceType
private byte sourceTypeSource type -
object
Event target object -
source
Event listener -
timestamp
protected int timestampEvent timestamp -
header
Event RTMP packet header -
refcount
Event references count
-
-
Constructor Details
-
BaseEvent
public BaseEvent() -
BaseEvent
Create new event of given type- Parameters:
type- Event type
-
BaseEvent
Create new event of given type- Parameters:
type- Event typesource- Event source
-
-
Method Details
-
getType
Returns even type -
setType
-
getSourceType
public byte getSourceType()Description copied from interface:IRTMPEventGetter for source type- Specified by:
getSourceTypein interfaceIRTMPEvent- Returns:
- Source type
-
setSourceType
public void setSourceType(byte sourceType) Description copied from interface:IRTMPEventSetter for source type- Specified by:
setSourceTypein interfaceIRTMPEvent- Parameters:
sourceType- source type
-
getObject
Returns event context object -
getHeader
Getter for header- Specified by:
getHeaderin interfaceIRTMPEvent- Returns:
- RTMP packet header
-
setHeader
Setter for header- Specified by:
setHeaderin interfaceIRTMPEvent- Parameters:
header- RTMP packet header
-
hasSource
public boolean hasSource()Whether event has source (event listener(s)) -
getSource
Returns event listener -
setSource
Setter for source- Specified by:
setSourcein interfaceIRTMPEvent- Parameters:
source- Source
-
getDataType
public abstract byte getDataType()Getter for data type- Specified by:
getDataTypein interfaceIRTMPEvent- Returns:
- Data type
-
getTimestamp
public int getTimestamp()Getter for timestamp- Specified by:
getTimestampin interfaceIRTMPEvent- Returns:
- Event timestamp
-
setTimestamp
public void setTimestamp(int timestamp) Setter for timestamp- Specified by:
setTimestampin interfaceIRTMPEvent- Parameters:
timestamp- New event timestamp
-
retain
public void retain()Retain event- Specified by:
retainin interfaceIRTMPEvent
-
release
public void release()Hook to free buffers allocated by the event.- Specified by:
releasein interfaceIRTMPEvent
-
releaseInternal
protected abstract void releaseInternal()Release event -
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-