class OpenEdge.Net.ServerConnection.ClientSocket
	implements OpenEdge.Core.ServerConnection.IServerConnection, 
		OpenEdge.Logging.ISupportLogging:

	constructor public ClientSocket ( poConnectionParameters as OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters):
	end.

	constructor public ClientSocket ():
	end.

	define public property LocalHost as character no-undo
		public get.
		private set.

	define public property LocalPort as integer no-undo
		public get.
		private set.

	define public property RemoteHost as character no-undo
		public get.
		private set.

	define public property RemotePort as integer no-undo
		public get.
		private set.

	define public property SslServerName as character no-undo
		public get.
		private set.

	define public property Logger as OpenEdge.Logging.ILogWriter no-undo
		public get.
		public set.

	define public property Server as Progress.Lang.Object no-undo
		public get.
		private set.

	define public property ConnectionParameters as OpenEdge.Core.ServerConnection.IConnectionParameters no-undo
		public get.
		private set.

	define public property ReadBufferSize as integer no-undo
		public get.
		public set.

	define public property DefaultReadTimeout as integer no-undo
		public get.
		public set.

	define public property KeepAlive as logical no-undo
		public get.
		public set.

	define public property NoDelay as logical no-undo
		public get.
		public set.

	define public property ReuseAddress as logical no-undo
		public get.
		public set.

	define public property ReceiveBufferSize as integer no-undo
		public get.
		public set.

	define public property SendBufferSize as integer no-undo
		public get.
		public set.

	define public property ReceiveTimeout as integer no-undo
		public get.
		public set.

	define public property LingerTime as integer no-undo
		public get.
		public set.

	define public property Connected as logical no-undo
		public get.

	method public void Connect ( poURI as OpenEdge.Net.URI):
	end.

	method public void Connect ( poParams as OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters):
	end.

	method public void Connect ():
	end.

	method public void Disconnect ():
	end.

	method public void CreateServer ():
	end.

	method public void DestroyServer ():
	end.

	method public void WaitForResponse ():
	end.

	method public void WaitForResponse ( pdTimeout as decimal):
	end.

	method public void WaitForResponseAsync ( pdTimeout as decimal):
	end.

	method public void ReadResponseHandler ():
	end.

	method protected void OnDataReceived ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
	end.

	method protected void OnReadTerminated ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
	end.

	method protected void OnReadTimeout ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
	end.

	method public void WriteData ( poData as OpenEdge.Core.Memptr):
	end.

	method protected logical IsConnected ():
	end.

	method public void StartTls ( pCertificatSubjectName as character):
	end.

	define public event DataReceived void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).

	define public event ReadTimeout void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).

	define public event ReadTerminated void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).

end.
