| IGLib 1.5 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Public Member Functions | Protected Member Functions | Properties | Private Attributes | Static Private Attributes | List of all members
IG.Lib.IpcStreamClientServerBase2 Class Referenceabstract

Base class for named pipe servers and clients, contains common stuff for both. More...

Inheritance diagram for IG.Lib.IpcStreamClientServerBase2:
[legend]
Collaboration diagram for IG.Lib.IpcStreamClientServerBase2:
[legend]

## Public Member Functions
virtual bool | IsErrorResponse (string responseString)
| Returns true if the specified response string represents an error response (exception), false if not. More...
virtual string | GetErrorMessage (string responseString)
| Returns error message that corresponds to the specified response string. More...
abstract void | ClosePipe ()
| Closes the pipe and streams that depend on it. More...
abstract void | CloseInput ()
| Closes the inpt stream. More...
abstract void | CloseOutput ()
| Closes the outut stream. More...
abstract void | ClearData ()
| Clears all the data related to servig requests (i.e. request and response strings, error flags, exceptions, etc.). More...
abstract bool | IsConnected ()
| Returns true if server pipe is connected, . More...
Public Member Functions inherited from IG.Lib.IpcStreamClientServerBase
delegate string | ResponseDelegate (string request)
| Provides an answer string to the specified request string. More...
void | SetMessagePreix (string messagePrefix)
| Changes message prefix for the current object. More...
void | SetMessageSeparator (char messageSeparator)
| Changes message separator for the current object. More...
void | SetMessageFalseSeparator (char messageFalseSeparator)
| Changes message false separator for the current object. More...
string | CreateMessage (string messageName, string[] messageArguments)
| Creates a built-in message (possibly with arguments) that is to be interpreted directly by the receiver (stream client or server) and is not executed via ordinary path. More...
string | CreateResponseOrRequestString (string originalResponseOrRequestString, bool multiLine)
| Generates request and response string in such a way that it can not be mixed up with a message. More...
void | InterpretRequestOrResponseLine (ref string responseOrRequestString, out bool isMessage, out string messageOrCommandName, out string[] messageArguments)
| Returns the (eventually decoded) request or response string corresponding to the stirng that is read form the communication pipeline, and also parameters that specify whether the request string represents a message or not. Eventual command or message parameters are also returned. More...
void | WriteMessage (StreamWriter outputStream, string message, string[] args)
| Writes a mesage to the output stream. What is written is decorated message (including the standard message prefix and separator) and message arguments. More...
virtual void | WorkMessage (string messageName, string[] messageArguments, IpcStage context, ref bool worked)
virtual void | RespondToMessage (string messageName, string[] messageArguments, ref bool responded)
| Responds to a received message. More...

## Protected Member Functions
abstract void | CloseConnection ()
| Closes connection of the server pype. More...

## Properties
abstract string | Name`[get, set]`
static string | DefaultPipeName`[get, set]`
| Default pipe name. More...
static string | DefaultErrorBegin`[get]`
| Default string that begins an error report. More...
string | ErrorBegin`[get, protected set]`
abstract StreamReader | InputStream`[get, protected set]`
| Input stream writer of the server's named pipe. More...
abstract StreamWriter | OutputStream`[get, protected set]`
| Output stream reader of the server's named pipe. More...
bool | IsError`[get, protected set]`
string | RequestString`[get, protected set]`
| The last request string that was read from the pipe. More...
string | ResponseString`[get, protected set]`
| The last answer string that was written to the pipe. More...
Exception | LastException`[get, protected set]`
| Returns the last exception thrown when serving request. More...
string | LastErrorMessage`[get, protected set]`
| Returns the last error message. More...
string | LastRequestString`[get, protected set]`
| Returns the last request string. More...
string | LastResponseString`[get, protected set]`
| Returns the last response string. More...
Properties inherited from IG.Lib.IpcStreamClientServerBase
object | Lock`[get]`
| Objectt for locking the current object. More...
static object | LockGlobal`[get]`
| Static lock object used by all instances of this class (and possibly by other classes). More...
StringBuilder | StringBuilderInternal`[get]`
static int | DefaultOutputLevel`[get, set]`
| Default level of output for this kind of class. More...
virtual int | OutputLevel`[get, set]`
| Level of output generated by operatins. More...
static string | DefaultMessagePrefix`[get, set]`
static char | DefaultMessageSeparator`[get, set]`
static char | DefaultMessageFalseSeparator`[get, set]`
string | MessagePrefix`[get, protected set]`
char | MessageSeparator`[get, protected set]`
char | MessageFalseSeparator`[get, protected set]`
string | MessagePrefixWithSeparator`[get, protected set]`
| Gets the mesage prefix with separator. If some string is a message, everything that follows this string until the first separator is a message name. More...
static string | DefaultMsgRequestBegin`[get]`
| Default message that begins any mulltiline request. More...
static string | DefaultMsgRequestEnd`[get]`
| Default message that ends any mulltiline request. More...
static string | DefaultMsgResponseBegin`[get]`
| Default message that begins any multiline response. More...
static string | DefaultMsgResponseEnd`[get]`
| Default message that ends any multiline response. More...
static string | DefaultMsgTestSquare`[get]`
| Default message that requests a test computation of square to be performed on the other side (a sort of ping command). More...
static string | DefaultMsgTestSpeed`[get]`
| Default message that requests a speed test to be performed on the other side (a sort of ping command). More...
string | MsgRequestBegin`[get, protected set]`
string | MsgRequestEnd`[get, protected set]`
string | MsgResponseBegin`[get, protected set]`
| Message that begins any multiline response (only when multiline responses are allowed). More...
string | MsgResponseEnd`[get, protected set]`
| Message that ends any multiline response (only when multiline responses are allowed). More...
string | MsgTestSquare`[get, protected set]`
| Message that requests square of its argument to be sent back. Used as a kind of verifiable ping. More...
string | MsgTestSpeed`[get, protected set]`
| Message that requires a kind of speed test to be performed on the other side. More...
static string | DefaultStopRequest`[get, set]`
| Default stop request string - request string that will stop the server. More...
string | StopRequest`[get, set]`
| Request that causes the server stop listening and closing the pipe. More...
static string | DefaultGenericResponse`[get, set]`
| Default generic response (sent in absence of any other method to generate the response). More...
string | GenericResponse`[get, protected set]`
| Generic response that is sent back to the client in abscence of any method generating responses to specific requests. More...
static string | DefaultStoppedResponse`[get, set]`
| Default stopped response (sent after the srver has sttopped on request). More...
string | StoppedResponse`[get, protected set]`
| Stopped response that is sent back to the client after the server stops on its request. More...
static bool | DefaultIsMultilineResponse`[get]`
| Default pipe name. More...
static bool | DefaultIsMultilineRequest`[get]`
| Default pipe name. More...
virtual bool | IsMultilineRequest`[get, protected set]`
| Whether or not multi line requests are allowed. More...
virtual bool | IsMultilineResponse`[get, protected set]`
| Whether or not multi line responses are allowed. More...
Properties inherited from IG.Lib.ILockable
object | Lock`[get]`

## Private Attributes
string | _errorBegin = DefaultErrorBegin
| String (line) that ends a response (only when multiline responses are allowed). More...

## Static Private Attributes
static string | _defaultPipeName = "IGLibServerPipe"
static string | _defaultErrorBegin = "$$ERROR__83753093759$$: "

## Additional Inherited Members
Public Attributes inherited from IG.Lib.IpcStreamClientServerBase
const int | MinimalMessagePreffixLength = 3
Protected Attributes inherited from IG.Lib.IpcStreamClientServerBase
object | _lock = new object()

## Detailed Description

Base class for named pipe servers and clients, contains common stuff for both.

$A Igor xx Mar14;

## Member Function Documentation

virtual bool IG.Lib.IpcStreamClientServerBase2.IsErrorResponse | ( | string | responseString | ) |
| inline virtual

Returns true if the specified response string represents an error response (exception), false if not.

Parameters

  responseString | Response string that is inspected.

virtual string IG.Lib.IpcStreamClientServerBase2.GetErrorMessage | ( | string | responseString | ) |
| inline virtual

Returns error message that corresponds to the specified response string.

Exception is thrown if the response string does not represent an error response.

Parameters

  responseString | Response string for which erro message is returned.

abstract void IG.Lib.IpcStreamClientServerBase2.ClosePipe | ( |  | ) |
| pure virtual

Closes the pipe and streams that depend on it.

Implemented in IG.Lib.PipeClientBase, IG.Lib.NamedPipeClientBase, IG.Lib.PipeServerBase, and IG.Lib.NamedPipeServerBase.

Referenced by IG.Lib.CommandLineApplicationInterpreter.RemovePipeClients(), and IG.Lib.CommandLineApplicationInterpreter.RemovePipeServers().

abstract void IG.Lib.IpcStreamClientServerBase2.CloseInput | ( |  | ) |
| pure virtual

Closes the inpt stream.

Implemented in IG.Lib.IpcStreamServerBase, and IG.Lib.IpcStreamClientBase.

abstract void IG.Lib.IpcStreamClientServerBase2.CloseOutput | ( |  | ) |
| pure virtual

Closes the outut stream.

Implemented in IG.Lib.IpcStreamServerBase, and IG.Lib.IpcStreamClientBase.

abstract void IG.Lib.IpcStreamClientServerBase2.ClearData | ( |  | ) |
| pure virtual

Clears all the data related to servig requests (i.e. request and response strings, error flags, exceptions, etc.).

Implemented in IG.Lib.IpcStreamServerBase, and IG.Lib.IpcStreamClientBase.

abstract void IG.Lib.IpcStreamClientServerBase2.CloseConnection | ( |  | ) |
| protected pure virtual

Closes connection of the server pype.

Implemented in IG.Lib.PipeClientBase, IG.Lib.NamedPipeClientBase, IG.Lib.PipeServerBase, and IG.Lib.NamedPipeServerBase.

abstract bool IG.Lib.IpcStreamClientServerBase2.IsConnected | ( |  | ) |
| pure virtual

Returns true if server pipe is connected, .

Implemented in IG.Lib.PipeClientBase, IG.Lib.NamedPipeClientBase, IG.Lib.PipeServerBase, and IG.Lib.NamedPipeServerBase.

## Member Data Documentation

string IG.Lib.IpcStreamClientServerBase2._defaultPipeName = "IGLibServerPipe"
| static private

string IG.Lib.IpcStreamClientServerBase2._defaultErrorBegin = "$$ERROR__83753093759$$: "
| static private

string IG.Lib.IpcStreamClientServerBase2._errorBegin = DefaultErrorBegin
| private

String (line) that ends a response (only when multiline responses are allowed).

## Property Documentation

abstract string IG.Lib.IpcStreamClientServerBase2.Name
| get set

Referenced by IG.Lib.CommandLineApplicationInterpreter.RemovePipeClients(), and IG.Lib.CommandLineApplicationInterpreter.RemovePipeServers().

string IG.Lib.IpcStreamClientServerBase2.DefaultPipeName
| static get set

Default pipe name.

string IG.Lib.IpcStreamClientServerBase2.DefaultErrorBegin
| static get

Default string that begins an error report.

string IG.Lib.IpcStreamClientServerBase2.ErrorBegin
| get protected set

abstract StreamReader IG.Lib.IpcStreamClientServerBase2.InputStream
| get protected set

Input stream writer of the server's named pipe.

abstract StreamWriter IG.Lib.IpcStreamClientServerBase2.OutputStream
| get protected set

Output stream reader of the server's named pipe.

bool IG.Lib.IpcStreamClientServerBase2.IsError
| get protected set

string IG.Lib.IpcStreamClientServerBase2.RequestString
| get protected set

The last request string that was read from the pipe.

string IG.Lib.IpcStreamClientServerBase2.ResponseString
| get protected set

The last answer string that was written to the pipe.

Exception IG.Lib.IpcStreamClientServerBase2.LastException
| get protected set

Returns the last exception thrown when serving request.

string IG.Lib.IpcStreamClientServerBase2.LastErrorMessage
| get protected set

Returns the last error message.

string IG.Lib.IpcStreamClientServerBase2.LastRequestString
| get protected set

Returns the last request string.

string IG.Lib.IpcStreamClientServerBase2.LastResponseString
| get protected set

Returns the last response string.

The documentation for this class was generated from the following file:

- igbase/data/streams/IpcStreamClientServerBase2.cs