<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Socket Communication</name>
    </assembly>
    <members>
        <member name="T:MatrixCommunication.SocketComm">
            <summary>
            The Socket Cell implements a Matrix Communication Cell using TCP Sockets.
            </summary>
            <remarks>
            The Socket Cell provides a communication channel for transferring Matrix 
            Messages over the Network. It encloses the Message to be transferred in a
            Network Message and delivers it to its destination.
            The Cell accepts Messages of Type :
            	Matrix.Network.SendMessage
            It requires Handlers for Type :
            	None
            </remarks>
        </member>
        <member name="F:MatrixCommunication.SocketComm.CapabilityList">
            <summary>
            A Hashtable containing the list of Message type this Cell can process
            </summary>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Extract(System.Object)">
            <summary>
            MATRIX INTERNAL FUNCTION - Extracts the incoming messages from the Input Queue, processes them 
            and replies with the generated return values
            </summary>
            <param name="msg">The Input Message to be processed</param>
        </member>
        <member name="M:MatrixCommunication.SocketComm.ExtractResponse(System.Object)">
            <summary>
            MATRIX INTERNAL FUNCTION - Extracts Messages from the response queue and retrieves the return values
            for synchronous Message transfers
            </summary>
            <param name="msg">The Response Message to be processed</param>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Register">
            <summary>
            MATRIX INTERNAL FUNCTION - Logs the Cell into the Matrix registry 
            </summary>
            <remarks>This function registers the Cell and makes its services available
            to the rest of the Application. It runs the Start Function defined by the
            Cell in a new Thread to allow it to perform initialization operations
            </remarks>
            <returns>True if successful</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Unregister">
            <summary>
            MATRIX INTERNAL FUNCTION - Removes the Cell from the Matrix Registry
            </summary>
            <returns>True if successful</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Accept(System.String)">
            <summary>
            MATRIX INTERNAL FUNCTION - Accepts a Message and puts it into the Request queue for processing
            </summary>
            <param name="message">The incoming Message</param>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Accept(System.String,System.Boolean)">
            <summary>
            MATRIX INTERNAL FUNCTION - Accepts a Message for processing
            </summary>
            <param name="message">The incoming Message</param>
            <param name="Response">Defines whether the Message a Request or a Reply
            True for Response Messages and False for Request Messages
            </param>
        </member>
        <member name="M:MatrixCommunication.SocketComm.GetID">
            <summary>
            Returns the GUID of the Cell instance
            </summary>
            <returns>System.Guid holding the Cell's GUID</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.QueryCapability(System.String)">
            <summary>
            Determines if the Cell can process a particular MessageType
            </summary>
            <param name="capability">The MessageType being queried</param>
            <returns>True if the Cell can accept Messages of the specified type
            False otherwise</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.QueryCapability">
            <summary>
            Returns the names of all the MessageTypes that the Cell can process
            </summary>
            <returns>A string array containing the names of all the MessageType the 
            Cell can process
            </returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Send(System.String,System.Object[])">
            <summary>
            Sends an asyncronous Message to a local Cell 
            </summary>
            <param name="MessageName">The name of the Message to be sent</param>
            <param name="Params">The arguments to be supplied to the Messsage Handler
            </param>
            <returns>True if successful</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Send(System.String,System.Object[],System.String)">
            <summary>
            Sends an asynchronous Message to either a local or remote Cell
            </summary>
            <param name="MessageName">The name of the Message to be sent</param>
            <param name="Params">The arguments to be supplied to the Messsage Handler</param>
            <param name="destnAddress">The Address of remote Machine to which the Message is 
            to be delivered. An address of "0" will deliver the messsage to the local machine</param>
            <returns>True if successful</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.SyncSend(System.String,System.Object[])">
            <summary>
            Sends a synchronous Message to a local Cell and blocks, waiting for the reply
            </summary>
            <param name="MessageName">The name of the Message to be sent</param>
            <param name="Params">The arguments to be supplied to the Messsage Handler</param>
            <returns>An array of objects containing the reply to the request Message</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.SyncSend(System.String,System.Object[],System.String)">
            <summary>
            Sends a synchronous Message to either a local or remote Cell and blocks, waiting 
            for the reply
            </summary>
            <param name="MessageName">The name of the Message to be sent</param>
            <param name="Params">The arguments to be supplied to the Messsage Handler</param>
            <param name="destnAddress">The Address of remote Machine to which the Message is 
            to be delivered. An address of "0" will deliver the messsage to the local machine</param>
            <returns>An array of objects containing the reply to the request Message</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.SyncSend(System.String,System.Object[],System.String,Matrix.Clone)">
            <summary>
            Sends a synchronous Message to either a local or remote Clone Cell and waits for
            the reply
            </summary>
            <param name="MessageName">The name of the Message to be sent</param>
            <param name="Params">The arguments to be supplied to the Messsage Handler</param>
            <param name="destnAddress">The Address of remote Machine to which the Message is 
            to be delivered. An address of "0" will deliver the messsage to the local machine</param>
            <param name="clone">The Clone cell to which the message is to be delivered</param>
            <returns>An array of objects containing the reply to the request Message</returns>
        </member>
        <member name="M:MatrixCommunication.SocketComm.GetClone(System.String)">
            <summary>
            Returns a Clone of the MessageHandler Cell for the specified Messagetype
            </summary>
            <param name="MessageName">The name of the Message for which a Message Handler
            is required</param>
            <returns>A Clone of the Message Handler Cell if available</returns>
            <exception cref="T:System.Exception">Message Handler Cell not Found</exception>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Start">
            <summary>
            Executive function for the Cell. Starts the TCP Server.  
            </summary>
        </member>
        <member name="M:MatrixCommunication.SocketComm.#ctor">
            <summary>
            Constructor for the SocketComm class. 
            </summary>
        </member>
        <member name="M:MatrixCommunication.SocketComm.Process(Matrix.ExecObject)">
            <summary>
            Processes incoming Messages and returns Response messages if any.
            </summary>
            <param name="eo">Executive Object containing the Message Call parameters</param>
            <returns>ReturnObject contains the results of the Message processing
            or Null</returns>
        </member>
    </members>
</doc>
