Commits

Author Commit Message Labels Comments Date
Fred T-H
Fixing an incorrect empty history queue. Thanks to DeadZen for the report.
Fred T-H
Adding the basic authentication calls for chat users Two calls are added: one for authentication and one to know if a user X can send a message to user Y. There were two mock calls added to chut_webserver.erl in order to allow testing from the shell. The auth mechanism, once completed, should be documented in detail.
Fred T-H
Adding ibrowse to the source tree ibrowse will likely be the client used by chut when handling authentication and permissions (asking for them on other servers). Might also be useful for a few tests and benchmarks of the mochiweb server, but we're not there yet.
Fred T-H
Fixing errors when sending messages to disconnected users In the previous versions of chut, sending messages to a user was done through {global, User}. This made it so messages sent to undefined users would simply fail silently and gen_event:notify/2 would return 'ok'. By changing the registration to work outside of the gen_* mechanisms, a lookup with global:whereis_name/1 was done. In the case of an invalid name, the function returns undefined. This, i…
Fred T-H
Moving the registration of the user supervisor process outside of the spawn_link function. Same advantage as for moving then monitor and manager: respect of specs and being able to use conflict resolving function.
Fred T-H
Moving the registration of the manager process outside of it Same advantage as for moving then monitor: respect of specs and being able to use conflict resolving function. Because a gen_event has no init function, the dispatch event handler has to do it itself. For now, this is done through a bit of spaghetti in chut_user:start/3.
Fred T-H
Moving the process registration of the monitor to its init function (This commit message also deals with rev 6159d3220cce) Two reasons for this move: 1. it is against the type specs of the gen_fsm module to have a global name that isn't an atom; 2. going through gen_fsm:start_link/3-4 to do the registration doesn't allow to use global's conflict resolving functions. Some minor cleanup has also been done with the supervisor.
Fred T-H
src/chut_user_sup.erl
Fred T-H
adding them little guards for parameters
Fred T-H
ignoring vim .swp files
Fred T-H
moving the html escaping to the js clients
Fred T-H
adding some debug info and HTML escaping
Fred T-H
switching from proplists to orddict for the user monitor state
Fred T-H
Changed history accumulator from list to queue Switching from the list to the queue avoids useless traversals. On a history list of 10 max, this gives a boost of about 3% in speed in the stress benchmark. It is expected that longer history would be even longer when dropping events without the queue module.
Fred T-H
added benchmark code for realistic benchmark
Fred T-H
making compiling friendlier with an Emakefile
Fred T-H
commenting the benchmark code
Fred T-H
version 1 of benchmarking code added
Fred T-H
removing dependency on SASL for chut
Fred T-H
changing to a complete OTP app
Fred T-H
fixing a bug in the termination order of user processes
Fred T-H
Adding application supervisors
Fred T-H
Changed the supervisor structure of Chut as a whole The current way to manage supervision is to have each user of the system living on his own. There is no top supervisor and terminating a given user is done by killing its supervisor. This new revision adds a new top-level supervisor (chut_user_supersup) which will create and terminate every user process. Adding this supervisor will allow making sure no rogue processes are living and will allow to…
Fred T-H
renaming files to make it easier to fit into an otp app
Fred T-H
adding otp directory structure
Fred T-H
renaming usr_dispatch_manager to usr_manager to make a little more sense on its role. It doesn't just do dispatch...
Fred T-H
moving the event monitor unlinking to a place that makes way more sense.
Fred T-H
removing js dependencies for good
Fred T-H
fixing messed up html tag
Fred T-H
removing leftover console.log
  1. Prev
  2. Next