public ListenerRegistration(Guid userRegistrationId, ClientMessage registrationRequest = null, DecodeRegisterResponse decodeRegisterResponse = null, EncodeDeregisterRequest encodeDeregisterRequest = null, DistributedEventHandler eventHandler = null) { UserRegistrationId = userRegistrationId; RegistrationRequest = registrationRequest; EncodeDeregisterRequest = encodeDeregisterRequest; DecodeRegisterResponse = decodeRegisterResponse; EventHandler = eventHandler; }
public ListenerRegistration(string userRegistrationId, IClientMessage registrationRequest = null, DecodeRegisterResponse decodeRegisterResponse = null, EncodeDeregisterRequest encodeDeregisterRequest = null, DistributedEventHandler eventHandler = null) { UserRegistrationId = userRegistrationId; RegistrationRequest = registrationRequest; EncodeDeregisterRequest = encodeDeregisterRequest; DecodeRegisterResponse = decodeRegisterResponse; EventHandler = eventHandler; ConnectionRegistrations = new ConcurrentDictionary <ClientConnection, EventRegistration>(); }
public string RegisterListener(IClientMessage registrationMessage, DecodeRegisterResponse responseDecoder, EncodeDeregisterRequest encodeDeregisterRequest, DistributedEventHandler eventHandler) { //This method should not be called from registrationExecutor Debug.Assert(Thread.CurrentThread.Name == null || !Thread.CurrentThread.Name.Contains("eventRegistration")); TrySyncConnectToAllConnections(); var registrationTask = new Task <string>(() => { var userRegistrationId = Guid.NewGuid().ToString(); var listenerRegistration = new ListenerRegistration(userRegistrationId, registrationMessage, responseDecoder, encodeDeregisterRequest, eventHandler); _registrations.TryAdd(userRegistrationId, listenerRegistration); var connections = _connectionManager.ActiveConnections; foreach (var connection in connections) { try { RegisterListenerOnConnection(listenerRegistration, connection); } catch (Exception e) { if (connection.Live) { DeregisterListenerInternal(userRegistrationId); throw new HazelcastException("Listener cannot be added ", e); } } } return(userRegistrationId); }); try { registrationTask.Start(_registrationScheduler); return(registrationTask.Result); } catch (Exception e) { throw ExceptionUtil.Rethrow(e); } }
protected virtual Guid RegisterListener(ClientMessage registrationMessage, DecodeRegisterResponse responseDecoder, EncodeDeregisterRequest encodeDeregisterRequest, DistributedEventHandler eventHandler) { return(Client.ListenerService .RegisterListener(registrationMessage, responseDecoder, encodeDeregisterRequest, eventHandler)); }
protected virtual string RegisterListener(IClientMessage registrationMessage, DecodeRegisterResponse responseDecoder, EncodeDeregisterRequest encodeDeregisterRequest, DistributedEventHandler eventHandler) { return(_context.GetListenerService() .RegisterListener(registrationMessage, responseDecoder, encodeDeregisterRequest, eventHandler)); }