Example #1
0
 /* ============================================================================== Error handling */
 protected virtual void OnSendException(ClusterMessage message, Exception exception)
 {
     if (SendException != null)
     {
         SendException(this, new ExceptionEventArgs(exception, message));
     }
 }
        public System.IO.Stream Serialize(ClusterMessage message)
        {
            MemoryStream    ms = new MemoryStream();
            BinaryFormatter bf = new BinaryFormatter();

            bf.Serialize(ms, message); ms.Flush(); ms.Position = 0;
            return(ms);
        }
 public System.IO.Stream Serialize(ClusterMessage message)
 {
     MemoryStream ms = new MemoryStream();
     BinaryFormatter bf = new BinaryFormatter();
     bf.Serialize(ms, message); ms.Flush(); ms.Position = 0;
     return ms;
     
     //throw new NotImplementedException();
 }
Example #4
0
 public Form1()
 {
     InitializeComponent();
     ClusterMessage[] creatableMessages = new ClusterMessage[] 
     {
         new CacheCleanAction(), 
         new PingMessage()
     };
     comboBox1.DataSource = creatableMessages;
 }
Example #5
0
        internal virtual void OnMessageReceived(Stream messageBody)
        {
            ClusterMessage message = m_formatter.Deserialize(messageBody);

            lock (_messageListSwitchSync)
            {
                _incomingMessages.Add(message);
                CounterManager.SetRawValue("IncomingMessages", Convert.ToInt64(_incomingMessages.Count));
                var totalMessages = _incomingMessages.Count + _messagesCount;
                CounterManager.SetRawValue("TotalMessagesToProcess", Convert.ToInt64(totalMessages));
                //_incomingMessageSignal.Set();
            }
        }
Example #6
0
        protected internal virtual void OnMessageReceived(Stream messageBody)
        {
            ClusterMessage message = m_formatter.Deserialize(messageBody);

            SnTrace.Messaging.Write("Received a '{0}' message.", message.GetType().FullName);

            lock (MessageListSwitchSync)
            {
                _incomingMessages.Add(message);

                //TODO: trace incoming and total message count
                // var totalMessages = _incomingMessages.Count + _messagesCount;
            }
        }
Example #7
0
 /* ============================================================================== Send */
 public virtual void Send(ClusterMessage message)
 {
     try
     {
         message.SenderInfo = m_clusterMemberInfo;
         Stream messageStream = m_formatter.Serialize(message);
         InternalSend(messageStream);
     }
     catch (Exception e) //logged
     {
         Logger.WriteException(e);
         OnSendException(message, e);
     }
 }
Example #8
0
 /* ============================================================================== Send */
 public virtual void Send(ClusterMessage message)
 {
     try
     {
         message.SenderInfo = m_clusterMemberInfo;
         message.SenderInfo.ClusterMemberID = this.ReceiverName;
         Stream messageStream = m_formatter.Serialize(message);
         InternalSend(messageStream, message is DebugMessage);
     }
     catch (Exception e) //logged
     {
         Logger.WriteException(e);
         OnSendException(message, e);
     }
 }
        public ClusterMessage Deserialize(System.IO.Stream data)
        {
            BinaryFormatter bf      = new BinaryFormatter();
            ClusterMessage  message = null;

            try
            {
                message = (ClusterMessage)bf.Deserialize(data);
            }
            catch (SerializationException e) // logged
            {
                SnLog.WriteException(e);
                message = new UnknownMessageType(data);
            }
            return(message);
        }
Example #10
0
 /* ============================================================================== Send */
 public virtual void Send(ClusterMessage message)
 {
     try
     {
         message.SenderInfo = m_clusterMemberInfo;
         message.SenderInfo.ClusterMemberID = this.ReceiverName;
         Stream messageStream = m_formatter.Serialize(message);
         SnTrace.Messaging.Write("Sending a '{0}' message", message.GetType().FullName);
         InternalSend(messageStream, message is DebugMessage);
     }
     catch (Exception e) // logged
     {
         SnLog.WriteException(e);
         SnTrace.Messaging.WriteError("Sending a '{0}' message. Exception: {1}", message.GetType().FullName, e);
         OnSendException(message, e);
     }
 }
Example #11
0
        /* ============================================================================== Send */
        public virtual async Task SendAsync(ClusterMessage message, CancellationToken cancellationToken)
        {
            try
            {
                message.SenderInfo = m_clusterMemberInfo;
                message.SenderInfo.ClusterMemberID = ReceiverName;

                Stream messageStream = m_formatter.Serialize(message);
                SnTrace.Messaging.Write("Sending a '{0}' message", message.GetType().FullName);

                await InternalSendAsync(messageStream, message is DebugMessage, cancellationToken).ConfigureAwait(false);
            }
            catch (Exception e) // logged
            {
                SnLog.WriteException(e);
                SnTrace.Messaging.WriteError("Sending a '{0}' message. Exception: {1}", message.GetType().FullName, e);
                OnSendException(message, e);
            }
        }
Example #12
0
 /* ============================================================================== Send */
 public virtual void Send(ClusterMessage message)
 {
     try
     {
         message.SenderInfo = m_clusterMemberInfo;
         Stream messageStream = m_formatter.Serialize(message);
         InternalSend(messageStream);
     }
     catch (Exception e) //logged
     {
         Logger.WriteException(e);
         OnSendException(message, e);
     }
 }
Example #13
0
 /* ============================================================================== Error handling */
 protected virtual void OnSendException(ClusterMessage message, Exception exception)
 {
     if (SendException != null)
         SendException(this, new ExceptionEventArgs(exception, message));
 }
Example #14
0
 public ExceptionEventArgs(Exception exception, ClusterMessage message)
 {
     Exception = exception;
     Message = message;
 }
Example #15
0
 public MessageReceivedEventArgs(ClusterMessage message) { Message = message; }
Example #16
0
 public ClusterMessageListViewItem(ClusterMessage message)
 {
     this.Text = _counter++.ToString();
     this.SubItems.AddRange(new string[] {DateTime.Now.ToString(),  message.ToString() });
 }
Example #17
0
 public MessageReceivedEventArgs(ClusterMessage message)
 {
     Message = message;
 }
Example #18
0
 /* ============================================================================== Error handling */
 protected virtual void OnSendException(ClusterMessage message, Exception exception)
 {
     SendException?.Invoke(this, new ExceptionEventArgs(exception, message));
 }
Example #19
0
 public ExceptionEventArgs(Exception exception, ClusterMessage message)
 {
     Exception = exception;
     Message   = message;
 }