public virtual void onOpen() { outerInstance.openWsFuture.fulfill(); /* send bind_session */ if (outerInstance.bindRequest != null) { // bind request has precedence over control requests outerInstance.sendBindRequest(outerInstance.bindRequest.request, outerInstance.bindRequest.reqListener, outerInstance.bindRequest.bindFuture); } /* send control requests */ foreach (PendingRequest controlRequest in outerInstance.controlRequestQueue) { outerInstance.sendControlRequest(controlRequest.request, controlRequest.reqListener, controlRequest.tutor); } /* release memory */ outerInstance.bindRequest = null; outerInstance.controlRequestQueue.Clear(); }