// 
// Decompiled by Procyon v0.6.0
// 

package io.netty.handler.codec.quic;

import java.util.function.BiConsumer;

abstract class BoringSSLPrivateKeyMethodTask extends BoringSSLTask
{
    private final BoringSSLPrivateKeyMethod method;
    private byte[] resultBytes;
    
    BoringSSLPrivateKeyMethodTask(final long ssl, final BoringSSLPrivateKeyMethod method) {
        super(ssl);
        this.method = method;
    }
    
    @Override
    protected final void runTask(final long ssl, final TaskCallback callback) {
        this.runMethod(ssl, this.method, (result, error) -> {
            if (result == null || error != null) {
                callback.onResult(ssl, -1);
            }
            else {
                this.resultBytes = result;
                callback.onResult(ssl, 1);
            }
        });
    }
    
    protected abstract void runMethod(final long p0, final BoringSSLPrivateKeyMethod p1, final BiConsumer<byte[], Throwable> p2);
}
