18 using System.Collections.Generic;
19 using System.Runtime.Remoting;
24 namespace Deveel.Data.Protocol {
28 GC.SuppressFinalize(
this);
31 protected virtual void Dispose(
bool disposing) {
39 protected abstract ConnectionEndPoint MakeEndPoint(IDictionary<string, object> properties);
42 return MakeEndPoint(properties);
50 return CreateEnvelope(metadata, message);
56 return CreateObjectChannel(objectId);
62 return CreateTriggerChannel(triggerName, objectName, eventType);
77 OnSetEncryption(encryptionData);
87 this.connector = connector;
91 var response = connector.SendEnvelope(message);
93 throw new InvalidOperationException(
"Unable to obtain a response from the server.");
95 if (response.Error != null)
96 throw new ServerException(response.Error.ErrorMessage);
98 var content = connector.OpenEnvelope(response);
99 connector.OnMessageReceived(content);
IMessageProcessor CreateProcessor()
TriggerEventType
The different types of high layer trigger events.
ClientMessageProcessor(ClientConnector connector)
virtual void OnMessageReceived(IMessage message)
virtual void Dispose(bool disposing)
IMessageEnvelope CreateEnvelope(IDictionary< string, object > metadata, IMessage message)
IMessageEnvelope ProcessMessage(IMessageEnvelope message)
readonly ClientConnector connector
ConnectionEndPoint MakeEndPoint(IDictionary< string, object > properties)
ITriggerChannel CreateTriggerChannel(string triggerName, string objectName, TriggerEventType eventType)
virtual IMessage OpenEnvelope(IMessageEnvelope envelope)
virtual void OnSetEncryption(EncryptionData encryptionData)
void SetEncrypton(EncryptionData encryptionData)
ILargeObjectChannel CreateObjectChannel(long objectId)