code: public synchronized void dispatchCmEvent(RdmaCmEvent cmEvent)
  			throws IOException {
  		try {
  			int eventType = cmEvent.getEvent();
  			if (eventType == RdmaCmEvent.EventType.RDMA_CM_EVENT_ADDR_RESOLVED.ordinal()) {
  				connState = RdmaEndpoint.CONN_STATE_ADDR_RESOLVED;
  				notifyAll();
  			} else if (cmEvent.getEvent() == RdmaCmEvent.EventType.RDMA_CM_EVENT_ROUTE_RESOLVED.ordinal()) {
  				connState = RdmaEndpoint.CONN_STATE_ROUTE_RESOLVED;
  				notifyAll();
  			} else if (eventType == RdmaCmEvent.EventType.RDMA_CM_EVENT_ESTABLISHED.ordinal()) {
  				logger.info("got event type + RDMA_CM_EVENT_ESTABLISHED, srcAddress " + this.getSrcAddr() + ", dstAddress " + this.getDstAddr());
  				connState = CONN_STATE_CONNECTED;
  				notifyAll();
  			} else if (eventType == RdmaCmEvent.EventType.RDMA_CM_EVENT_DISCONNECTED.ordinal()) {
  				logger.info("got event type + RDMA_CM_EVENT_DISCONNECTED, srcAddress " + this.getSrcAddr() + ", dstAddress " + this.getDstAddr());
  				connState = CONN_STATE_CLOSED;
  				notifyAll();
  			} else if (eventType == RdmaCmEvent.EventType.RDMA_CM_EVENT_CONNECT_REQUEST.ordinal()) {
  				logger.info("got event type + RDMA_CM_EVENT_CONNECT_REQUEST, srcAddress " + this.getSrcAddr() + ", dstAddress " + this.getDstAddr());
  			} else {
  				logger.info("got event type + UNKNOWN, srcAddress " + this.getSrcAddr() + ", dstAddress " + this.getDstAddr());
  			}
  		} catch (Exception e) {
  			throw new IOException(e);
  		}
  	}
docs: /* (non-Javadoc)
  @see com.ibm.jverbs.endpoints.ICmConsumer#dispatchCmEvent(com.ibm.jverbs.cm.RdmaCmEvent)