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.

Thursday, March 22, 2012

ECM Stinks

Previously...
  • I noted that data was not getting delivered to ECM.
  • I solved the undelivered data problem and added heartbeats.
  • I solved the endless loop problem.

For some time now I have been getting the following error when I try to close a connection via pidgin:

/home/cnh/megaphone/ecm/Exchange.js:84
me.ecm.unregisterExchange(me);
         ^
TypeError: Object [object Object] has no method 'unregisterExchange'
    at Socket.<anonymous> (/home/cnh/megaphone/ecm/Exchange.js:84:10)
    at Socket.emit (events.js:64:17)
    at TCP.onread (net.js:348:51)

I finally resolved to fix this problem only to discover a host of other problems.  This has led me to the inescapable conclusion that ECM really, really stinks.  

This is not, perhaps, so much of a surprise as I threw the thing together with minimal understanding of how nodejs works, but I had hoped that the basics were there.  Unfortunately I was wrong.

The good news is that, while it basically does not work, it is fairly easy to understand.  The next order of business is to basically go back to the drawing board with the thing and try to cobble together something that has a chance of working.

No comments:

Post a Comment