private async Task <BigInteger[]> ReadGroupElements(IMessageChannel channel, int numberOfGroupElements) { MessageDecomposer message = new MessageDecomposer(await channel.ReadMessageAsync()); BigInteger[] groupElements = new BigInteger[numberOfGroupElements]; for (int i = 0; i < numberOfGroupElements; ++i) { int length = message.ReadInt(); byte[] packedGroupElement = message.ReadBuffer(length); groupElements[i] = new BigInteger(packedGroupElement); } return(groupElements); }
private async Task <byte[][][]> ReadOptions(IMessageChannel channel, int numberOfOptions, int numberOfInvocations, int numberOfMessageBytes) { MessageDecomposer message = new MessageDecomposer(await channel.ReadMessageAsync()); byte[][][] options = new byte[numberOfInvocations][][]; for (int j = 0; j < numberOfInvocations; ++j) { options[j] = new byte[numberOfOptions][]; for (int i = 0; i < numberOfOptions; ++i) { options[j][i] = message.ReadBuffer(numberOfMessageBytes); } } return(options); }