1 /* 2 * Copyright 2022 The Netty Project 3 * 4 * The Netty Project licenses this file to you under the Apache License, 5 * version 2.0 (the "License"); you may not use this file except in compliance 6 * with the License. You may obtain a copy of the License at: 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package io.netty5.channel.unix; 17 18 /** 19 * A generic socket option. See <a href="https://linux.die.net/man/2/setsockopt">man setsockopt</a>. 20 * 21 * @param <T> the value type 22 */ 23 public abstract class GenericUnixChannelOption<T> extends UnixChannelOption<T> { 24 25 private final int level; 26 private final int optname; 27 28 GenericUnixChannelOption(String name, int level, int optname) { 29 super(name); 30 this.level = level; 31 this.optname = optname; 32 } 33 34 /** 35 * Returns the level. See <a href="https://linux.die.net/man/2/setsockopt">man setsockopt</a> 36 * 37 * @return the level. 38 */ 39 public int level() { 40 return level; 41 } 42 43 /** 44 * Returns the optname. See <a href="https://linux.die.net/man/2/setsockopt">man setsockopt</a> 45 * 46 * @return the level. 47 */ 48 public int optname() { 49 return optname; 50 } 51 }