private void OnMessage(int streamIndex, NCacheMessage message) { lock (_callbackLock) { OnReceived(streamIndex, message.Id, message.ScaleoutMessage); } }
private void OnCustomEvent(object notifId, object data) { String eventKey = notifId as String; if (eventKey.Equals(this.eventKey) && this.messageHandler != null) { messageHandler(0, NCacheMessage.FromBytes(data as byte[], this._trace)); } }
public static byte[] ToBytes(NCacheMessage ncacheMsg) { if (ncacheMsg == null || ncacheMsg.ScaleoutMessage == null || ncacheMsg.ScaleoutMessage.Messages == null) { throw new ArgumentNullException("messages"); } using (var ms = new MemoryStream()) { var binaryWriter = new BinaryWriter(ms); var buffer = ncacheMsg.ScaleoutMessage.ToBytes(); binaryWriter.Write(ncacheMsg.Id); binaryWriter.Write(buffer.Length); binaryWriter.Write(buffer); return(ms.ToArray()); } }
protected override Task Send(int streamIndex, IList <Message> messages) { return(_connection.PublishAsync( _eventKey, NCacheMessage.ToBytes(new NCacheMessage(_connection.GetUniqueID(), new ScaleoutMessage(messages))))); }