1 /* 2 * Copyright (C) Mellanox Technologies Ltd. 2019. ALL RIGHTS RESERVED. 3 * See file LICENSE for terms. 4 */ 5 package org.openucx.jucx.ucp; 6 7 import java.net.InetSocketAddress; 8 9 import org.openucx.jucx.UcxParams; 10 11 public class UcpListenerParams extends UcxParams { 12 13 @Override clear()14 public UcpListenerParams clear() { 15 super.clear(); 16 sockAddr = null; 17 return this; 18 } 19 20 private InetSocketAddress sockAddr; 21 22 private UcpListenerConnectionHandler connectionHandler; 23 24 /** 25 * An address, on which {@link UcpListener} would bind. 26 */ setSockAddr(InetSocketAddress sockAddr)27 public UcpListenerParams setSockAddr(InetSocketAddress sockAddr) { 28 this.sockAddr = sockAddr; 29 this.fieldMask |= UcpConstants.UCP_LISTENER_PARAM_FIELD_SOCK_ADDR; 30 return this; 31 } 32 getSockAddr()33 public InetSocketAddress getSockAddr() { 34 return sockAddr; 35 } 36 37 /** 38 * Handler of an incoming connection request in a client-server connection flow. 39 */ setConnectionHandler(UcpListenerConnectionHandler handler)40 public UcpListenerParams setConnectionHandler(UcpListenerConnectionHandler handler) { 41 this.connectionHandler = handler; 42 this.fieldMask |= UcpConstants.UCP_LISTENER_PARAM_FIELD_CONN_HANDLER; 43 return this; 44 } 45 } 46