コード例 #1
0
 private void SendEndWrapper(ReliableSessionMessage sendMessage, NativeCommon.IFabricAsyncOperationContext context)
 {
     try
     {
         // AppTrace.TraceSource.WriteNoise("NativeReliableSession.EndSend");
         this.nativeReliableSession.EndSend(context);
     }
     finally
     {
         sendMessage.Unpin();
     }
 }
コード例 #2
0
        private NativeCommon.IFabricAsyncOperationContext SendBeginWrapper(
            ReliableSessionMessage sendMessage, NativeCommon.IFabricAsyncOperationCallback callback)
        {
            try
            {
                var nativeSendMessage = sendMessage.Pin(this.nativeMessageDataFactory);

                // TODO: do we support empty messages?
                if (nativeSendMessage == null)
                {
                    throw new ArgumentException(SR.Error_ReliableSession_EmptyMessage);
                }
                // AppTrace.TraceSource.WriteNoise("NativeReliableSession.BeginSend");
                return(this.nativeReliableSession.BeginSend(nativeSendMessage, callback));
            }
            catch
            {
                sendMessage.Unpin();
                throw;
            }
        }