public async Task DumpBinlogAsync(DatabaseConnection channel, ConnectionOptions options) { long serverId = options.Blocking ? options.ServerId : 0; ICommand command = null; if (options.Binlog.StartingStrategy == StartingStrategy.FromGtid) { command = new DumpBinlogGtidCommand(serverId, options.Binlog.Filename, options.Binlog.Position, options.Binlog.Gtid); } else { command = new DumpBinlogCommand(serverId, options.Binlog.Filename, options.Binlog.Position); } await channel.WriteCommandAsync(command, 0); }
public async Task DumpBinlogAsync(DatabaseConnection channel, ConnectionOptions options, CancellationToken cancellationToken = default) { long serverId = options.Blocking ? options.ServerId : 0; ICommand command = null; if (options.Binlog.StartingStrategy == StartingStrategy.FromGtid) { var gtidSet = (GtidSet)options.Binlog.GtidState; command = new DumpBinlogGtidCommand(serverId, options.Binlog.Filename, options.Binlog.Position, gtidSet); } else { command = new DumpBinlogCommand(serverId, options.Binlog.Filename, options.Binlog.Position); } await channel.WriteCommandAsync(command, 0, cancellationToken); }