package org.jerlang.erts.prim_inet; import static org.jerlang.erts.PrimInet.setopts; import org.jerlang.erts.erlang.Error; import org.jerlang.type.List; import org.jerlang.type.PortID; import org.jerlang.type.Term; import org.jerlang.type.Tuple; public class PrimInetSetopt extends AbstractPrimInetFunction { private PrimInetSetopt() { } public static Term dispatch(List params) { switch (params.length()) { case 3: PortID socket = params.head().toPortID(); params = params.tail(); Term opt = params.head(); params = params.tail(); Term val = params.head(); return setopt_3(socket, opt, val); default: throw Error.badarg; } } public static Term setopt_3(PortID socket, Term opt, Term val) { return setopts(socket, List.of(Tuple.of(opt, val))); } }