Entrypoint for .NET client code wishing to be invoked by the StreamBase .NET Operator within the StreamBase server's process. The class specified in the .NET Operator's 'Class Name' property in Studio is expected to extend this. Note that the class is also expected to provide a public default constructor, which will be used to create an instance. However any initialization logic should be deferred to the Init()()()() method, which will be called immediately after object creation (and before any other method).

Namespace: StreamBase.SB
Assembly: StreamBase.SB.Client (in StreamBase.SB.Client.dll) Version: 7.7.0.0

Syntax

         
 C#  Visual Basic  Visual C++ 
public abstract class Operator : MarshalByRefObject
Public MustInherit Class Operator _
	Inherits MarshalByRefObject
public ref class Operator abstract : public MarshalByRefObject

Members

         
 All Members  Properties   Methods  
 Public

 Protected
 Instance

 Static 
 Declared

 Inherited
 XNA Framework Only 

 .NET Compact Framework Only 

 MemberDescription
ContainerName
Return the name of this Operator's container. This may return null during the init phase (i.e. until the first call to Resume()).
CreateObjRef(Type)
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.
(Inherited from MarshalByRefObject.)
DisplayName
Return the display name of this Operator. The display name is the String that's shown in the list of available Operators.
Equals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
FullyQualifiedName
Return the fully qualified name of this Operator. This contains the container name, any module names and the name of the operator. This may return null during the init phase (i.e. until the first call to Resume()).
GetHashCode()()()()
Serves as a hash function for a particular type.
(Inherited from Object.)
GetInputPortCount()()()()
Returns the number of configured input ports for this operator.
GetInputSchema(Int32)
Provides access to the operator's input schemas.
GetLifetimeService()()()()
Retrieves the current lifetime service object that controls the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
GetOutputPortCount()()()()
Returns the number of configured output ports for this operator.
GetOutputSchema(Int32)
Provides access to the operator's output schemas.
GetParameterAsString(String)
Returns the given parameter as a string value. The Java portion of the operator must implment String getStringParameter(String) and return an appropriate value. The default will reutrn an empty string.
GetType()()()()
Gets the Type of the current instance.
(Inherited from Object.)
HasNotYetStarted
Returns true if this Operator has not yet started running.
Init()()()()
After the Operator has been created but before the application start, this method will be called. Operators should override this method to perform custom initialization.
InitializeLifetimeService()()()() (Overrides MarshalByRefObject..::..InitializeLifetimeService()()()().)
IsRunning
Returns true if this Operator is currently running.
IsShutdown
Returns true if this Operator is currently shut down. An Operator is shut down when it is in the runtime state of SHUTDOWN, which is the terminal state for Operators.
IsSuspended
Returns true if this Operator is currently suspended.
Log(Operator..::..Logger..::..LogLevel, String)
Sends the given string to the StreamBase application's logging system.
LogDebug(String)
Sends the given string to the StreamBase application's logging system with a loglevel of DEBUG.
LogError(String)
Sends the given string to the StreamBase application's logging system with a loglevel of ERROR.
LogInfo(String)
Sends the given string to the StreamBase application's logging system with a loglevel of INFO.
LogTrace(String)
Sends the given string to the StreamBase application's logging system with a loglevel of TRACE.
LogWarn(String)
Sends the given string to the StreamBase application's logging system with a loglevel of WARN.
Name
Return the name of this Operator. Operators are named and can be managed by name. This may return null during the init phase (i.e. until the first call to Resume()).
Path
Return the path to this Operator. This may return null during the init phase (i.e. until the first call to Resume()).
ProcessTuple(Int32, Tuple)
This is called whenever the .NET Operator receives a tuple to be processed by the .NET client code.

This method should not be made to block as this will interrupt the tuple flow through the .NET Operator, potentially hanging the StreamBase application in part or in whole.

The client code may wish to thow a StreamBaseException if something goes wrong; this exception will be passed along to the Operator for proper logging in the application.

Resume()()()()
This is called when an operator starts or resumes execution. Note that if the application is shutdown directly from a suspended state, this will NOT be called; instead Shutdown()()()() will be called.

Resume()()()() is a callback that is called by the StreamBase runtime.

Exceptions thrown during calls to Resume()()()() will be logged via LogError(String), processed as error tuples, and trigger a shutdown of the operator.

Resumed()()()()
This is called after all registered runnables of the operator have started or resumed.

Resumed()()()() is a callback that is called by the StreamBase runtime.

Exceptions thrown during calls to Resumed()()()() will be logged via LogError(String), processed as error tuples, and trigger a shutdown of the operator.

SendErrorOutput(Exception)
Sends an error tuple from this operator's error port.

This method will also record the message in the debug log.

SendErrorOutput(String)
Sends an error tuple from this operator's error port.

This method will also record the message in the debug log.

SendErrorOutput(Exception, Int32, Tuple)
Sends an error tuple from this operator's error port.

This method will also record the message in the debug log.

SendOutput(Int32, Tuple)
Sends the given tuple to the given output port of the .NET Operator for use by the application.

If the given tuple is created by this operator then it can be reused when the call to SendOutput() returns, as the application is done with the tuple at that point.

SendOutputAsync(Int32, Tuple)
Enqueues a Tuple to be sent asynchronously to downstream operators.

All calls to SendOutputAsync(Int32, Tuple) are well ordered with respect to other calls to SendOutputAsync(Int32, Tuple), meaning that downstream logic will receive the tuples in the order they are sent.

Calls to SendOutputAsync(Int32, Tuple) and SendOutput(Int32, Tuple) are not well ordered with respect to each other, meaning calls from the two methods can be received downstream in any order.

Note:
The Tuple will be queued into the application some time in the future. The asynchronous nature of this call could cause subtle race conditions in applications. The performance differential (if any) between SendOutputAsync(Int32, Tuple) and SendOutput(Int32, Tuple) is highly dependent upon the application and hardware. Benchmarking is the only way to ensure the fastest possible implementation.
The tuple can be reused once sendOutputAsync returns.
ShortDisplayName
Return the short display name of this Operator. This short display name is the String displayed by Studio in the palette, and used to name new instances of this Operator to an EventFlow application.
Shutdown()()()()
This is called by the StreamBase runtime just prior to shutting down this Operator. An implementation of shutdown should include any behavior needed to shut down the Operator - freeing resources, etc.

Shutdown()()()() is a callback that is called by the StreamBase runtime.

Suspend()()()()
This is called when an operator is suspended.

Suspend()()()() is a callback that is called by the StreamBase runtime.

Exceptions thrown during calls to Resume()()()() will be logged via LogError(String) and processed as error tuples.

TheLogger
The operator's instance of Operator..::..Logger. This can be used to send loging traces to the StreamBase application, and to query the current log level.
ToString()()()()
Returns a string that represents the current object.
(Inherited from Object.)

Inheritance Hierarchy

System..::..Object
  System..::..MarshalByRefObject
    StreamBase.SB..::..Operator

See Also