Package org.red5.server.so
Class SharedObjectMessage
java.lang.Object
org.red5.server.net.rtmp.event.BaseEvent
org.red5.server.so.SharedObjectMessage
- All Implemented Interfaces:
Externalizable,Serializable,IEvent,IRTMPEvent,Constants,ISharedObjectMessage
- Direct Known Subclasses:
FlexSharedObjectMessage
Shared object event
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.red5.server.net.rtmp.message.Constants
Constants.DataTypeNested classes/interfaces inherited from interface org.red5.server.api.event.IEvent
IEvent.Type -
Field Summary
Fields inherited from class org.red5.server.net.rtmp.event.BaseEvent
header, object, refcount, source, sourceType, timestampFields 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
ConstructorsConstructorDescriptionSharedObjectMessage(String name, int version, boolean persistent) Creates Shared Object event with given name, version and persistence flagSharedObjectMessage(IEventListener source, String name, int version, boolean persistent) Creates Shared Object event with given listener, name, SO version and persistence flag -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddEvent(ISharedObjectEvent event) Add event handlerbooleanaddEvent(ISharedObjectEvent.Type type, String key, Object value) Addition event handlervoidaddEvents(List<ISharedObjectEvent> events) voidaddEvents(Queue<ISharedObjectEvent> events) voidaddEvents(Set<ISharedObjectEvent> events) voidclear()Clear shared objectbyteGetter for data typeReturns a set of ISharedObjectEvent objects containing informations what to change.getName()Returns the name of the shared object this message belongs to.Returns event context objectgetType()Returns even typeintReturns the version to modify.booleanisEmpty()Is empty?booleanDoes the message affect a persistent shared object?voidprotected voidRelease eventvoidreset()Resets the version and events to an initial state.protected voidSetter for nameprotected voidsetPersistent(boolean persistent) Setter for persistence flagprotected voidsetVersion(int version) Setter for versiontoString()voidMethods inherited from class org.red5.server.net.rtmp.event.BaseEvent
equals, getHeader, getSource, getSourceType, getTimestamp, hashCode, hasSource, release, retain, setHeader, setSource, setSourceType, setTimestamp, setTypeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.red5.server.net.rtmp.event.IRTMPEvent
getHeader, getSourceType, getTimestamp, release, retain, setHeader, setSource, setSourceType, setTimestamp
-
Constructor Details
-
SharedObjectMessage
public SharedObjectMessage() -
SharedObjectMessage
Creates Shared Object event with given name, version and persistence flag- Parameters:
name- Event nameversion- SO versionpersistent- SO persistence flag
-
SharedObjectMessage
Creates Shared Object event with given listener, name, SO version and persistence flag- Parameters:
source- Event listenername- Event nameversion- SO versionpersistent- SO persistence flag
-
-
Method Details
-
reset
public void reset()Resets the version and events to an initial state. -
getDataType
public byte getDataType()Getter for data type- Specified by:
getDataTypein interfaceIRTMPEvent- Specified by:
getDataTypein classBaseEvent- Returns:
- Data type
-
getVersion
public int getVersion()Returns the version to modify.- Specified by:
getVersionin interfaceISharedObjectMessage- Returns:
- version to modify
-
setVersion
protected void setVersion(int version) Setter for version- Parameters:
version- New version
-
getName
Returns the name of the shared object this message belongs to.- Specified by:
getNamein interfaceISharedObjectMessage- Returns:
- name of the shared object
-
setName
Setter for name- Parameters:
name- Event name
-
isPersistent
public boolean isPersistent()Does the message affect a persistent shared object?- Specified by:
isPersistentin interfaceISharedObjectMessage- Returns:
- true if a persistent shared object should be updated otherwise false
-
setPersistent
protected void setPersistent(boolean persistent) Setter for persistence flag- Parameters:
persistent- Persistence flag
-
addEvents
-
addEvents
-
addEvents
-
getEvents
Returns a set of ISharedObjectEvent objects containing informations what to change.- Specified by:
getEventsin interfaceISharedObjectMessage- Returns:
- set of ISharedObjectEvents
-
clear
public void clear()Clear shared object- Specified by:
clearin interfaceISharedObjectMessage
-
isEmpty
public boolean isEmpty()Is empty?- Specified by:
isEmptyin interfaceISharedObjectMessage- Returns:
- true if shared object is empty, false otherwise
-
getType
Returns even type -
getObject
Returns event context object -
releaseInternal
protected void releaseInternal()Release event- Specified by:
releaseInternalin classBaseEvent
-
toString
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classBaseEvent- Throws:
IOExceptionClassNotFoundException
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classBaseEvent- Throws:
IOException
-