pastebin - collaborative debugging

pastebin is a collaborative debugging tool allowing you to share and modify code snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a variety of options.

pastebin private pastebin - collaborative debugging tool What's a private pastebin?

Posted by frymaster on Mon 23rd Aug 13:32
download | new post

  1. for each channel, spawn controller/listener
  2.  
  3. controller:
  4.   for each person in channel,
  5.   spawn relay on each other controller's channel
  6.   if we hear voice and it's being sent to the channel,
  7.     take note of who said it
  8.     send it to the consumer threads of that user's relay on each other controller's channel
  9.     (ditto text messages)
  10.  
  11. relay:
  12.   if we hear voice and it was a whisper,
  13.     send whisper to the person we are a relay for, coming from the relay for the person who sent it
  14.     (ditto text message)
  15.  
  16. (if a voice sender is not in our current channel, ignore; if a text sender is not in our current channel, send it via the controller with a prefix saying who it's from)
  17.  
  18. 2nd thread:
  19.  
  20.   have function for letting people send messages that will do the notify pish; if mimic is not yet is a fit state, ignore
  21.   special-case function for text messages so if it _isn't_ in a fit state, it will try to send via controller instead
  22.  
  23.  
  24. need to keep track of:
  25.   all real people in a server
  26.   all fake people in a server
  27.   what real person a fake person is related to
  28.  
  29. each real person can have a mimics list that will be the thread object (that has properties for channel, session)
  30. each bot knows its channel object and its server object
  31.  
  32. each server has a list of all users that has dict with session, name
  33. each server has a dict of sessionid:thread object of fake clients on that server
  34. each channel needs to have it's controller thread recorded
  35. each server has a list of all channels we relay on it
  36.  
  37. global servers object that has a list with, for each server:
  38.   dict of sessionid:thread for fake clients
  39.   dict of sessionid:name for all clients
  40.  
  41. global channel list with controller threads
  42.  
  43. each controller maintains a list of real user sessionid:mimics

Submit a correction or amendment below. (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Use syntax highlighting

To highlight particular lines, prefix each line with @@


Remember my settings