private void RaiseRegistrationRemoved(IWampProcedureRegistration registration) { EventHandler <WampProcedureRegisterEventArgs> handler = RegistrationRemoved; if (handler != null) { handler(this, new WampProcedureRegisterEventArgs(registration)); } }
private IObservable <IRemoteWampCalleeOperation> GetCalleeUnregistered (IWampProcedureRegistration registration, IObservable <IWampProcedureRegistration> registrationRemoved) { return(Observable.FromEventPattern <WampCalleeRemoveEventArgs> (x => registration.CalleeUnregistered += x, x => registration.CalleeUnregistered -= x) .Select(x => x.EventArgs.Operation) .OfType <IRemoteWampCalleeOperation>() .TakeUntil(registrationRemoved)); }
public long?GetBestMatchingRegistrationId(string procedureUri) { IWampProcedureRegistration registration = mOperationCatalog.GetMatchingOperation(procedureUri) as IWampProcedureRegistration; if (registration == null) { return(null); } return(registration.RegistrationId); }
private RegistrationDetailsExtended GetRegistrationDetails(IWampProcedureRegistration registration, long sessionId) { string procedureUri = registration.Procedure; RegistrationDetailsExtended result = new RegistrationDetailsExtended() { Created = DateTime.Now, Uri = procedureUri, Match = registration.RegisterOptions.Match, RegistrationId = registration.RegistrationId, Invoke = registration.RegisterOptions.Invoke }; // TODO: if we can ignore the session id, there is no need for the special // TODO: IRemoteWampCalleeOperation interface AddGroup(procedureUri, sessionId, result); return(result); }
private void RaiseRegistrationRemoved(IWampProcedureRegistration registration) { RegistrationRemoved?.Invoke(this, new WampProcedureRegisterEventArgs(registration)); }
private void OnRegistrationRemoved(IWampProcedureRegistration registration, IRemoteWampCalleeOperation operation) { RemovePeerFromGroup(registration.Procedure, operation.SessionId, registration.RegistrationId); }
private void OnRegistrationAdded(IWampProcedureRegistration registration, IRemoteWampCalleeOperation operation) { AddPeer(operation.SessionId, registration.RegistrationId, () => GetRegistrationDetails(registration, operation.SessionId)); }
public WampProcedureRegisterEventArgs(IWampProcedureRegistration registration) { mRegistration = registration; }