org.red5.server.api
Interface IClient

All Superinterfaces:
AttributeStoreMXBean, IAttributeStore
All Known Implementing Classes:
Client

public interface IClient
extends IAttributeStore

The client object represents a single client. One client may have multiple connections to different scopes on the same host. In some ways the client object is like a HTTP session. You can create IClient objects with IClientRegistry.newClient(Object[]) NOTE: I removed session, since client serves the same purpose as a client with attributes

Author:
The Red5 Project ([email protected]), Luke Hubbard ([email protected])

Field Summary
static String ID
          The key used to store the client object in a http session.
 
Method Summary
 void checkBandwidth()
          Performs a bandwidth checking routine.
 Map<String,Object> checkBandwidthUp(Object[] params)
          Performs a bandwidth checking callback for the client.
 void disconnect()
          Closes all the connections.
 Set<IConnection> getConnections()
          Get a set of connections.
 Set<IConnection> getConnections(IScope scope)
          Get a set of connections of a given scope.
 long getCreationTime()
          Get the creation time for this client object.
 String getId()
          Get the unique ID for this client.
 Collection<String> getPermissions(IConnection conn)
          Return the permissions in a given context.
 Collection<IScope> getScopes()
          Get a set of scopes the client is connected to.
 boolean hasPermission(IConnection conn, String permissionName)
          Check if the client has a permission in the given context.
 boolean isBandwidthChecked()
          Returns whether or not a bandwidth check has been requested.
 void setId(String id)
          Sets the clients id
 void setPermissions(IConnection conn, Collection<String> permissions)
          Set the permissions for this client in a given context.
 
Methods inherited from interface org.red5.server.api.IAttributeStore
getAttribute, getAttribute, getAttributeNames, getAttributes, hasAttribute, removeAttribute, removeAttributes, setAttribute, setAttributes, setAttributes, size
 

Field Detail

ID

static final String ID
The key used to store the client object in a http session.

See Also:
Constant Field Values
Method Detail

setId

void setId(String id)
Sets the clients id

Parameters:
id - client id

getId

String getId()
Get the unique ID for this client. This will be generated by the server if not passed upon connection from client-side Flex/Flash app. To assign a custom ID to the client use params object of IApplication.appConnect(IConnection, Object[]) method, that contains 2nd all the rest values you pass to NetConnection.connect method. Example: At client side: NetConnection.connect( "http://localhost/killerapp/", "user123" ); then at server side: public boolean appConnect( IConnection connection, Object[] params ){
try { connection.getClient().setId( (String) params[0] ); } catch(Exception e){
log.error("{}", e); } }

Returns:
client id

getCreationTime

long getCreationTime()
Get the creation time for this client object.

Returns:
Creation time in milliseconds

getScopes

Collection<IScope> getScopes()
Get a set of scopes the client is connected to.

Returns:
Set of scopes

getConnections

Set<IConnection> getConnections()
Get a set of connections.

Returns:
Set of connections

getConnections

Set<IConnection> getConnections(IScope scope)
Get a set of connections of a given scope.

Parameters:
scope - scope to get connections for
Returns:
Set of connections to the passed scope

disconnect

void disconnect()
Closes all the connections.


setPermissions

void setPermissions(IConnection conn,
                    Collection<String> permissions)
Set the permissions for this client in a given context.

Parameters:
conn - Connection specifying the context to set the permissions for.
permissions - Permissions the client has in this context or null for no permissions.

getPermissions

Collection<String> getPermissions(IConnection conn)
Return the permissions in a given context.

Parameters:
conn - Connection specifying the context to get the permissions for.
Returns:
Permission names.

hasPermission

boolean hasPermission(IConnection conn,
                      String permissionName)
Check if the client has a permission in the given context.

Parameters:
conn - Connection specifying the context to check the permissions for.
permissionName - Name of the permission to check.
Returns:
true if the client has the permission, otherwise false

checkBandwidth

void checkBandwidth()
Performs a bandwidth checking routine. Information may be found here: http://www.adobe.com/devnet/flashmediaserver/articles/dynamic_stream_switching_04.html


checkBandwidthUp

Map<String,Object> checkBandwidthUp(Object[] params)
Performs a bandwidth checking callback for the client. Information may be found here: http://www.adobe.com/devnet/flashmediaserver/articles/dynamic_stream_switching_04.html


isBandwidthChecked

boolean isBandwidthChecked()
Returns whether or not a bandwidth check has been requested.

Returns:
true if requested and false otherwise


Copyright © 2006-2012 The Red5 Project