Beispiel #1
0
        public unsafe Request(CoreCallInfo *_callInfo)
        {
            callInfo = _callInfo;
            inst     = Core.ice_core_borrow_request_from_call_info(callInfo);

            Session = new SessionView(this);
        }
Beispiel #2
0
        public void SetResponseSent()
        {
            RequireResponseNotSent();
            responseSent = true;

            unsafe {
                inst     = null;
                callInfo = null;
            }
        }
Beispiel #3
0
        public void Send()
        {
            req.RequireResponseNotSent();
            req.SetResponseSent();
            sent = true;

            unsafe {
                lock (instLock) {
                    Core.ice_core_fire_callback(callInfo, inst);
                    callInfo = null;
                    inst     = null;
                }
            }
        }
Beispiel #4
0
 private unsafe void endpointCallback(int id, CoreCallInfo *callInfo)
 {
     Task t = realEndpointCallback(id, new Request(callInfo));
 }
Beispiel #5
0
 public unsafe Response(Request _req, CoreCallInfo *_callInfo)
 {
     req      = _req;
     callInfo = _callInfo;
     inst     = Core.ice_glue_create_response();
 }
Beispiel #6
0
 public static extern unsafe CoreRequest *ice_core_borrow_request_from_call_info(
     CoreCallInfo *call_info
     );
Beispiel #7
0
 public static extern unsafe bool ice_core_fire_callback(
     CoreCallInfo *call_info,
     CoreResponse *resp
     );