protected void HandlePendingCallResult(RtmpConnection connection, Notify invoke) { IServiceCall serviceCall = invoke.ServiceCall; IPendingServiceCall pendingCall = connection.GetPendingCall(invoke.InvokeId); if (pendingCall != null) { pendingCall.Status = serviceCall.Status; object[] arguments = serviceCall.Arguments; if ((arguments != null) && (arguments.Length > 0)) { pendingCall.Result = arguments[0]; } IPendingServiceCallback[] callbacks = pendingCall.GetCallbacks(); if ((callbacks != null) && (callbacks.Length > 0)) { foreach (IPendingServiceCallback callback in callbacks) { try { callback.ResultReceived(pendingCall); } catch (Exception exception) { log.Error("Error while executing callback " + callback, exception); } } } } }