com.smaxe.app.uv.loadtester
Class RtmpTester

java.lang.Object
  extended by com.smaxe.app.uv.loadtester.RtmpTester

public final class RtmpTester
extends java.lang.Object

RtmpTester - responsible for executing RtmpClientScript's that connects to the RTMP server.

Author:
Andrei Sochirca

Nested Class Summary
static class RtmpTester.CallbackAdapter
          CallbackAdapter - RtmpTester.ICallback adapter.
 class RtmpTester.ClientSessionInfoProvider
          ClientSessionInfoProvider - RtmpTester.IClientSessionInfoProvider implementation.
static interface RtmpTester.ICallback
          ICallback - client emulation callback.
static interface RtmpTester.IClientSessionInfoProvider
          IClientSessionInfoProvider - provides with client's session info.
 
Constructor Summary
RtmpTester()
          Constructor.
 
Method Summary
 void emulateClient(java.lang.String url, RtmpClientInfo info, RtmpTester.ICallback callback)
          Emulates client behaviour.
 int getClients()
          Returns number of clients (both connecting and connected).
 int getConnectedClients()
          Returns number of connected clients.
 int getConnectingClients()
          Returns number of connecting clients.
static java.lang.String getProductName()
          Returns product name.
static java.lang.String getProductVersion()
          Returns product version.
static boolean isGatherSessionInfoSupportedForProtocol(java.lang.String protocol)
          Checks if 'Gather Session Info' feature is supported for protocol.
 RtmpTester.IClientSessionInfoProvider load(java.io.File file)
          Loads RtmpTester.IClientSessionInfoProvider instance from the file.
 void release()
          Releases resources acquired by the tester.
static void setKey(java.lang.String key)
          Sets license key.
 void setLogger(ILogger logger)
          Sets the logger.
 void setObjectCreator(IObjectCreator objectCreator)
          Sets the object creator.
 void setPublishStreamFile(java.lang.String file)
          Sets the publish stream file (*.flv file).
 void setScriptFactory(IRtmpClientScriptFactory factory)
          Sets the IRtmpClientScriptFactory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RtmpTester

public RtmpTester()
Constructor.

Method Detail

getProductName

public static final java.lang.String getProductName()
Returns product name.

Returns:
product name

getProductVersion

public static final java.lang.String getProductVersion()
Returns product version.

Returns:
product version

isGatherSessionInfoSupportedForProtocol

public static boolean isGatherSessionInfoSupportedForProtocol(java.lang.String protocol)
Checks if 'Gather Session Info' feature is supported for protocol.

Parameters:
protocol - ("rtmp","rtmpt","rtmpe", etc)
Returns:
true if feature is supported; otherwise false

setLogger

public void setLogger(ILogger logger)
Sets the logger.

Parameters:
logger - logger

setObjectCreator

public void setObjectCreator(IObjectCreator objectCreator)
Sets the object creator.

Parameters:
objectCreator - object creator

setPublishStreamFile

public void setPublishStreamFile(java.lang.String file)
                          throws java.lang.IllegalArgumentException
Sets the publish stream file (*.flv file). This file is used as a source of published audio/video stream.

Parameters:
file - flv file
Throws:
java.lang.IllegalArgumentException - if file streaming is not supported

setScriptFactory

public void setScriptFactory(IRtmpClientScriptFactory factory)
Sets the IRtmpClientScriptFactory. The factory is used to create RtmpClientScript instances by name. If not defined a default script factory is used.

Parameters:
factory - script factory

emulateClient

public void emulateClient(java.lang.String url,
                          RtmpClientInfo info,
                          RtmpTester.ICallback callback)
Emulates client behaviour.

Parameters:
url - server url
info - client info
callback - callback

getConnectedClients

public int getConnectedClients()
Returns number of connected clients.

Returns:
number of connected clients

getConnectingClients

public int getConnectingClients()
Returns number of connecting clients.

Returns:
number of connecting clients

getClients

public int getClients()
Returns number of clients (both connecting and connected).

Returns:
number of clients (both connecting and connected)

load

public RtmpTester.IClientSessionInfoProvider load(java.io.File file)
                                           throws java.lang.Exception
Loads RtmpTester.IClientSessionInfoProvider instance from the file.

Parameters:
file -
Returns:
IUserSessionDataProvider instance
Throws:
java.lang.Exception - if an exception occurred

release

public void release()
Releases resources acquired by the tester.


setKey

public static void setKey(java.lang.String key)
Sets license key.

Parameters:
key - license key