equal
deleted
inserted
replaced
1 Review all the *Client receiver methods in layer3.go. They should |
1 Review all the *Client receiver methods in layer3.go. They should |
2 probably either all be receivers, or none. |
2 probably either all be receivers, or none. |
3 |
3 |
4 Maybe put auth-related stuff into its own structure inside Client, |
|
5 instead of at Client's top level. |
|
6 |
|
7 Add a way to broadcast status information as negotiation happens or |
|
8 disconnects occur. Possibly a new type of object that can be sent on |
|
9 Recv along with stanzas. Or use sync.Cond to protect a state |
|
10 variable. |
|
11 |
|
12 Asynchronously updating Client.Features is not thread safe. Use a |
|
13 public function GetFeatures() or similar. Same for setting the JID in |
|
14 bind()? |
|
15 |
|
16 NewClient should be synchronous, so it can update Features and JID and |
|
17 leave those as values rather than functions. |
|
18 |
|
19 Add a Reconnect() function. |
4 Add a Reconnect() function. |
20 |
5 |
21 Put roster and bind into separate packages, if possible. |
|
22 |
|
23 Eliminate as many uses of Generic as possible. |
6 Eliminate as many uses of Generic as possible. |
24 |
|
25 Callback doesn't need to return bool. It shouldn't affect what's given |
|
26 to the client. |
|
27 |
7 |
28 Don't keep the password in memory once we're done with it. |
8 Don't keep the password in memory once we're done with it. |
29 |
9 |
30 Rename extension.StanzaHandlers to something like StanzaTypes. |
10 Rename extension.StanzaHandlers to something like StanzaTypes. |
31 |
11 |