/// <summary> /// Sends status notification. /// </summary> /// <param name="status">Status object.</param> public void SendStatus(StatusASO status) { bool andReturn = !status.code.Equals(StatusASO.NS_DATA_START); Invoke invoke; if (andReturn) { PendingCall call = new PendingCall(null, "onStatus", new object[] { status }); invoke = new Invoke(); invoke.InvokeId = 1; invoke.ServiceCall = call; } else { Call call = new Call(null, "onStatus", new object[] { status }); invoke = (Invoke) new Notify(); invoke.InvokeId = 1; invoke.ServiceCall = call; } // We send directly to the corresponding stream as for // some status codes, no stream has been created and thus // "getStreamByChannelId" will fail. Write(invoke, _connection.GetStreamIdForChannel(_channelId)); }