119
|
1 |
Extension.StanzaHandlers should use reflection, not constructor
|
|
2 |
functions.
|
|
3 |
|
|
4 |
Review all these *Client receiver methods. They should probably either
|
|
5 |
all be receivers, or none.
|
|
6 |
|
|
7 |
Get rid of Client.Uid.
|
|
8 |
|
|
9 |
Maybe put auth-related stuff into its own structure inside Client,
|
|
10 |
instead of at Client's top level.
|
|
11 |
|
|
12 |
Rename stanzaHandler to something like idCallback. Same for the
|
|
13 |
HandleStanza function.
|
|
14 |
|
|
15 |
Replace inputControl with something like an enum.
|
|
16 |
|
|
17 |
Rename In and Out channels to Recv and Send.
|
|
18 |
|
|
19 |
Add a way to broadcast status information as negotiation happens or
|
|
20 |
disconnects occur. Possibly a new type of object that can be sent on
|
|
21 |
Recv along with stanzas. Or use sync.Cond to protect a state
|
|
22 |
variable.
|
|
23 |
|
|
24 |
Asynchronously updating Client.Features is not thread safe.
|
|
25 |
|
|
26 |
NewClient shouldn't be asynchronous.
|
|
27 |
|
|
28 |
Add a Reconnect() function.
|
|
29 |
|
|
30 |
Put roster and bind into separate packages, if possible.
|
|
31 |
|
|
32 |
Eliminate as many uses of Generic as possible.
|