What is Megaphone?

What is Megaphone?
The Megaphone project is about enhancing open source chat software. Specifically, the goal is to allow ejabberd to support 1,000,000 simultaneous users. See The Plan page for more details on how I plan to solve this problem. See the About this Blog page for more details on why I created this blog.

Wednesday, February 29, 2012

Slow Going

Previously...
  • I made some progress in wiring up ejabberd to megaphone.
  • My primary computer's power supply died.
  • I salvaged one of the drives from my dead computer.

I finally managed to get back to doing some testing on megaphone.  It appears that data is getting to ECM OK, but that it gets stuck in megaphone.  I get the following in the log:

=ERROR REPORT==== 2012-02-29 07:18:38 ===
Error in process <0.367.0> on node 'ejabberd@localhost' with exit value: {{badmatch,{more,undefined}},[{megaphone,parse_packet,1},{megaphone,update_table,3},{megaphone,put_data,3},{megaphone,main_loop,1}]}

This indicates to me that the following line is failing:

parse_packet(Data) ->
    {ok, Request, Remainder} = erlang:decode_packet(http, Data, []),
    parse_headers([Request], Remainder).

Specifically, erlang:decode_packet is returning "{more undefined}" instead of "{ok, <something>, <something>}" which means that I need to go back and read the decode_packet documentation some more.

Next time: causes and solutions to the above problem.

No comments:

Post a Comment