Skip to content

Instantly share code, notes, and snippets.

@photofroggy
Created April 17, 2014 11:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save photofroggy/10975703 to your computer and use it in GitHub Desktop.
Save photofroggy/10975703 to your computer and use it in GitHub Desktop.
Possible classes for a dAmn client.
BASIC NETWORKING
This stuff is used to open and manage a connection to a server.
Possibly have some of this stuff as a separate project.
Connection
protocol() - create a socket protocol
open()
close()
send()
WebSocketConnection
SocketIOConnection?
dAmnConnection?
SocketProtocol
protocol() - create a message protocol
open()
close()
data()
packet()
BufferedSocketProtocol
MessageSocketProtocol
dAmnSocketProtocol?
MessageProtocol
message()
unknown()
dAmnMessageProtocol
Client client
dAmnServer()
recv_msg()
recv_action()
...
DATA
Message
string()
object()
dAmnMessage
command
parameter
arguments
argument()
TablumpString body
sub[]
MessageString
tokens
raw
text()
html()
ansi()
format()
TablumpString
Settings
User
username
connections
symbol
avatar
gpc
pc
Privclass
name
order
users
PrivclassManager
pcs
find()
move()
rename()
remove()
create()
user_remove()
user_add()
Channel
name
namespace
TablumpString title
TablumpString topic
users
PrivclassManager pc
user_joined()
user_left()
user_remove()
user_find()
user_privchg()
get_title()
get_topic()
set_title()
set_topic()
pc_find()
pc_create()
pc_remove()
pc_rename()
PROTOCOL
Messages
Connection conn
send()
dAmnMessages
handshake()
login()
join()
part()
...
MessageStringParser
parse()
render()
TablumpStringParser
parse()
render()
EVENTS
Event
Command
EventEmitter
CLIENT
Client
Connection conn
Messages out
ext
channels
channel()
extend(name, constructor)
ext[name] = constructor(client)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment