public void ReplacePlugin(Guid pluginGuid, BlobClientPlugin newPlugin)
 {
     if (!_md.PluginTable.ContainsKey(pluginGuid))
     {
         return;
     }
     _md.PluginTable[pluginGuid] = newPlugin;
 }
 public void AppendPlugin(BlobClientPlugin plugin)
 {
     if (_md.PluginTable.ContainsKey(plugin.PluginGuid))
     {
         return;
     }
     _md.AvailablePluginCount++;
     _md.PluginTable.Add(plugin.PluginGuid, plugin);
 }
        private BlobClientPlugin ReadPlugin(int offset, int size)
        {
            _reader.BaseStream.Position = offset;

            var plugin = new BlobClientPlugin()
            {
                PluginGuid = _reader.ReadGuid(),
                Hash       = _reader.ReadBytes(32),
                Data       = _reader.ReadBytes(size),
                Size       = size,
                Offset     = offset
            };

            return(plugin);
        }