public ClientInterceptor(IContractDescription contractDescription) { _contractDescription = contractDescription; _logger = Logger.Factory.Create(GetType()); _logger.Info(() => $"Created (contract = {_contractDescription})"); }
public Connection(string objectId, object outerProxy, IEventHandlersRepository eventHandlersRepository, IContractDescription contractDescription, ISerializer serializer, IEloquentClient eloquentClient, IOutputChannel outputChannel, IHostAddress clientHostAddress) { _objectId = objectId; _outerProxy = outerProxy; _eventHandlersRepository = eventHandlersRepository; _contractDescription = contractDescription; _serializer = serializer; _eloquentClient = eloquentClient; _outputChannel = outputChannel; _clientHostAddress = clientHostAddress; }
public ObjectAdapter(string objectId, IContractDescription contractDescription, ISerializer serializer, SynchronizationContext synchronizationContext, object objectToHost, IObjectsRepository objectsRepository) { _contractDescription = contractDescription; _serializer = serializer; _synchronizationContext = synchronizationContext; Object = objectToHost; _objectsRepository = objectsRepository; var events = new Dictionary <string, IEvent>(); foreach (var eventDescription in _contractDescription.Events) { var handler = CreateHandler(eventDescription.Event, args => SendEventToAllClients(eventDescription.Name, eventDescription.IsStandardEvent, args)); eventDescription.Event.AddEventHandler(objectToHost, handler); _hostedEvents.Add(new HostedEvent(eventDescription.Event, handler)); events.Add(eventDescription.Name, new Event(objectId, eventDescription.Name, serializer, objectsRepository)); } Events = new ReadOnlyDictionary <string, IEvent>(events); }