public synchronized void dispatchCmEvent(RdmaCmEvent cmEvent) throws IOException { try { int eventType = cmEvent.getEvent(); if (eventType == RdmaCmEvent.EventType.RDMA_CM_EVENT_CONNECT_REQUEST.ordinal()) { // logger.info("got event type + RDMA_CM_EVENT_CONNECT_REQUEST, serverAddress " + this.getSrcAddr()); RdmaCmId connId = cmEvent.getConnIdPriv(); C ep = group.createEndpoint(connId); ep.dispatchCmEvent(cmEvent); requested.add(ep); notifyAll(); } else if (eventType == RdmaCmEvent.EventType.RDMA_CM_EVENT_DISCONNECTED .ordinal()) { // logger.info("got event type + RDMA_CM_EVENT_CONNECT_REQUEST, serverAddress " + this.getSrcAddr()); connState = CONN_STATE_CLOSED; notifyAll(); } else { logger.info("got event type + UNKNOWN, serverAddress " + this.getSrcAddr()); } } catch(Exception e){ throw new IOException(e); } }