1 /* 2 * junixsocket 3 * 4 * Copyright 2009-2024 Christian Kohlschütter 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 package org.newsclub.net.unix; 19 20 /** 21 * Describes the "type" of a socket. 22 * 23 * @author Christian Kohlschütter 24 */ 25 public enum AFSocketType { 26 /** 27 * Stream-oriented socket. 28 */ 29 SOCK_STREAM(NativeUnixSocket.SOCK_STREAM), // 30 31 /** 32 * Datagram-oriented socket. Usually permitting data loss (but not with {@link AFUNIXSocket}). 33 */ 34 SOCK_DGRAM(NativeUnixSocket.SOCK_DGRAM), // 35 36 /** 37 * Raw mode. 38 */ 39 SOCK_RAW(NativeUnixSocket.SOCK_RAW), // 40 41 /** 42 * Reliably-delivered datagram messages. 43 * 44 * Used by {@code AFTIPCDatagramSocket} to differentiate between datagram connects that may or may 45 * not permit package loss. 46 */ 47 SOCK_RDM(NativeUnixSocket.SOCK_RDM), // 48 49 /** 50 * Sequential packet socket. 51 */ 52 SOCK_SEQPACKET(NativeUnixSocket.SOCK_SEQPACKET), // 53 ; 54 55 private final int id; 56 57 AFSocketType(int id) { 58 this.id = id; 59 } 60 61 int getId() { 62 return id; 63 } 64 }