public static async Task WriteBytesLargeAsync(this SwitchConnectionAsync connection, byte[] data, uint offset, int chunkSize, CancellationToken token) { int byteCount = data.Length; for (int i = 0; i < byteCount; i += chunkSize) { await connection.WriteBytesAsync(SubArray(data, i, chunkSize), offset + (uint)i, token).ConfigureAwait(false); } }
public static async Task <byte[]> ReadBytesLargeAsync(this SwitchConnectionAsync connection, uint offset, int length, int chunkSize, CancellationToken token) { List <byte> read = new List <byte>(); for (int i = 0; i < length; i += chunkSize) { read.AddRange(await connection.ReadBytesAsync(offset + (uint)i, Math.Min(chunkSize, length - i), token).ConfigureAwait(false)); } return(read.ToArray()); }
public DodoPositionHelper(CrossBot bot) { BotRunner = bot; Connection = BotRunner.Connection; Config = BotRunner.Config; }