| 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 | List of all members
IG.Lib.Copy.ClientStreamBase Class Referenceabstract

Client to the pipe server (classes derived from ClientServerStreamBase2). More...

Inheritance diagram for IG.Lib.Copy.ClientStreamBase:
[legend]
Collaboration diagram for IG.Lib.Copy.ClientStreamBase:
[legend]

## Public Member Functions
override void | CloseInput ()
| Closes the inpt stream. More...
override void | CloseOutput ()
| Closes the outut stream. More...
abstract void | Connect (double timeOutSeconds=0)
| Connects with the server. More...
string | GetServerResponse (string requestString)
| Sends a request to the server and returns its response. More...
override void | ClearData ()
| Clears all the data related to servig requests (i.e. request and response strings, error flags, exceptions, etc.). More...
Public Member Functions inherited from IG.Lib.Copy.ClientServerStreamBase2
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...
Public Member Functions inherited from IG.Lib.Copy.ClienServerStreamBase
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)
| Generates request and response string in such a way that it can not be mixed up with a message. More...
void | GetRequestOrResponse (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...

## Protected Member Functions
virtual string | GetErrorMessage (Exception ex)
| Returns error message corresponding to the specified exception. More...
virtual void | SendRequest (string requestString)
| Send specified request to server through a named pipe. More...
virtual void | SentRequest ()
| Sends the current request string (the RequestString property) to the server through a named pipe. More...
virtual string | ReadResponse ()
| Reads response from the server and stores it. More...

## Properties
bool | IsResponseReceived`[get, protected set]`
| Auxiliary flag telling whether response to a request has already been received from the server. Used for synchronization of diffeeent parts of the request sending process, which enables e.g special handling of Exceptions. More...
Properties inherited from IG.Lib.Copy.ClientServerStreamBase2
abstract string | Name`[get, set]`
static string | DefaultPipeName`[get, set]`
| Default pipe name. More...
static bool | DefaultIsMultilineRequest`[get]`
| Default pipe name. More...
static string | DefaultRequestEnd`[get]`
| Default string (line) that ends any multiline request. More...
static bool | DefaultIsMultilineResponse`[get]`
| Default pipe name. More...
static string | DefaultResponseEnd`[get]`
| Default string (line) that ends any multiline response. More...
virtual bool | IsMultilineRequest`[get, protected set]`
| Whether or not multi line requests are allowed. More...
string | RequestEnd`[get, protected set]`
virtual bool | IsMultilineResponse`[get, protected set]`
| Whether or not multi line responses are allowed. More...
string | ResponseEnd`[get, protected set]`
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...
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...
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.Copy.ClienServerStreamBase
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...
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...
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...
Properties inherited from IG.Lib.ILockable
object | Lock`[get]`

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

## Detailed Description

Client to the pipe server (classes derived from ClientServerStreamBase2).

$A Igor xx Mar14;

## Member Function Documentation

override void IG.Lib.Copy.ClientStreamBase.CloseInput | ( |  | ) |
| inline virtual

Closes the inpt stream.

Implements IG.Lib.Copy.ClientServerStreamBase2.

override void IG.Lib.Copy.ClientStreamBase.CloseOutput | ( |  | ) |
| inline virtual

Closes the outut stream.

Implements IG.Lib.Copy.ClientServerStreamBase2.

abstract void IG.Lib.Copy.ClientStreamBase.Connect | ( | double | timeOutSeconds = `0` | ) |
| pure virtual

Connects with the server.

If timeout is not specifies then it tries to connect indefinitely.

Parameters

  timeOutSeconds | Timeout in secconds for establishig connection.

Implemented in IG.Lib.Copy.NamedPipeClientBase.

virtual string IG.Lib.Copy.ClientStreamBase.GetErrorMessage | ( | Exception | ex | ) |
| inline protected virtual

Returns error message corresponding to the specified exception.

Parameters

  ex |

virtual void IG.Lib.Copy.ClientStreamBase.SendRequest | ( | string | requestString | ) |
| inline protected virtual

Send specified request to server through a named pipe.

Parameters

  requestString | Request string.

virtual void IG.Lib.Copy.ClientStreamBase.SentRequest | ( |  | ) |
| inline protected virtual

Sends the current request string (the RequestString property) to the server through a named pipe.

virtual string IG.Lib.Copy.ClientStreamBase.ReadResponse | ( |  | ) |
| inline protected virtual

Reads response from the server and stores it.

string IG.Lib.Copy.ClientStreamBase.GetServerResponse | ( | string | requestString | ) |
| inline

Sends a request to the server and returns its response.

Synchronous.

Parameters

  requestString | Request string that is sent to the server.

Returns
  Server's response, which can also be the error string in the case that serving the request has thrown exception.

override void IG.Lib.Copy.ClientStreamBase.ClearData | ( |  | ) |
| inline virtual

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

Implements IG.Lib.Copy.ClientServerStreamBase2.

## Property Documentation

bool IG.Lib.Copy.ClientStreamBase.IsResponseReceived
| get protected set

Auxiliary flag telling whether response to a request has already been received from the server. Used for synchronization of diffeeent parts of the request sending process, which enables e.g special handling of Exceptions.

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

- igbase/data/streams/streams_copy/ClientServerStreamBase2_Copy.cs