Example #1
0
        public UserActor(IActorPathResolver pathResolver,
                         IBORepository <User> userRepository,
                         IBORepository <Room> roomRepository
                         )
        {
            this.pathResolver   = pathResolver;
            this.userRepository = userRepository;
            this.roomRepository = roomRepository;

            Receive <ReviveMe>(me => IAmAlive(me));
            Receive <ConnectToRoom>(cmd => HandleConnectToRoom(cmd));
        }
Example #2
0
        public RoomActor(IBORepository <Room> roomRepository,
                         IBORepository <User> userRepository,
                         IMessageRepository <Message> messageRepository,
                         IUserRoomRepository <UserRoom> visitRepository,
                         IActorPathResolver pathResolver)
        {
            this.userRepository    = userRepository;
            this.roomRepository    = roomRepository;
            this.messageRepository = messageRepository;
            this.visitRepository   = visitRepository;
            this.pathResolver      = pathResolver;

            mediator = DistributedPubSub.Get(Context.System).Mediator;

            Receive <Messages.Subscribe>(evt => HandleSubscribe(evt));
            Receive <Messages.Unsubscribe>(evt => HandleUnsubscribe(evt));
            Receive <TextMessage>(msg => SendToSubscribers(msg));
        }