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

package io.netty.handler.codec.quic;

import io.netty.util.Mapping;

final class BoringSSLTlsextServernameCallback
{
    private final QuicheQuicSslEngineMap engineMap;
    private final Mapping<? super String, ? extends QuicSslContext> mapping;
    
    BoringSSLTlsextServernameCallback(final QuicheQuicSslEngineMap engineMap, final Mapping<? super String, ? extends QuicSslContext> mapping) {
        this.engineMap = engineMap;
        this.mapping = mapping;
    }
    
    long selectCtx(final long ssl, final String serverName) {
        final QuicheQuicSslEngine engine = this.engineMap.get(ssl);
        if (engine == null) {
            return -1L;
        }
        final QuicSslContext context = (QuicSslContext)this.mapping.map(serverName);
        if (context == null) {
            return -1L;
        }
        return engine.moveTo(serverName, (QuicheQuicSslContext)context);
    }
}
