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