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