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

package io.netty.channel.unix;

import io.netty.util.internal.ObjectUtil;
import java.nio.ByteBuffer;

public final class RawUnixChannelOption extends GenericUnixChannelOption<ByteBuffer>
{
    private final int length;
    
    public RawUnixChannelOption(final String name, final int level, final int optname, final int length) {
        super(name, level, optname);
        this.length = ObjectUtil.checkPositive(length, "length");
    }
    
    public int length() {
        return this.length;
    }
    
    @Override
    public void validate(final ByteBuffer value) {
        super.validate(value);
        if (value.remaining() != this.length) {
            throw new IllegalArgumentException("Length of value does not match. Expected " + this.length + ", but got " + value.remaining());
        }
    }
}
