예제 #1
0
        internal void PublishItemUpdate(Item item)
        {
            var    messageData       = new TreeUpdateChannelMessageData(_thisSender, item);
            string messageDataString = _channelMessageSerializer.SerializeString(messageData);

            _subscriber.PublishAsync(DatabaseSchema.TreeUpdateChannel, messageDataString);
        }
예제 #2
0
        private readonly ISerializer <TreeUpdateChannelMessageData> _channelMessageSerializer; //TODO: replace with something faster than Json?

        private void ProcessItemUpdate(ChannelMessage message)
        {
            TreeUpdateChannelMessageData messageData = _channelMessageSerializer.DeserializeString(message.Message);

            if (messageData.Sender != _thisSender)
            {
                Item item = _tree.GetOrAddItem(messageData.Path);
                item.DataAsString = messageData.Data;
                item.NotifySubscribers();
            }
        }