ScriptServer communication protocol (v1), primitive RPC-like TCP client/server

This commit is contained in:
Tedd Hansen
2008-01-12 00:48:58 +00:00
parent ef674acc24
commit 1e9a66cbaa
9 changed files with 491 additions and 12 deletions

View File

@@ -0,0 +1,33 @@
namespace OpenSim.Region.ScriptEngine.Common.TRPC
{
public class TCPCommon
{
public delegate void ClientConnectedDelegate(int ID, System.Net.EndPoint Remote);
public delegate void DataReceivedDelegate(int ID, byte[] data, int offset, int length);
public delegate void DataSentDelegate(int ID, int length);
public delegate void CloseDelegate(int ID);
public delegate void ConnectErrorDelegate(string Reason);
public interface ServerAndClientInterface
{
void Send(int clientID, byte[] data, int offset, int len);
event ClientConnectedDelegate ClientConnected;
event DataReceivedDelegate DataReceived;
event DataSentDelegate DataSent;
event CloseDelegate Close;
}
public interface ClientInterface : ServerAndClientInterface
{
event TCPCommon.ConnectErrorDelegate ConnectError;
void Connect(string RemoteHost, int RemotePort);
void Disconnect(int ID);
}
public interface ServerInterface : ServerAndClientInterface
{
void StartListen();
void StopListen();
}
}
}