Stephen Paul Weber
a8f631d43b
Make keepAlive time optional
...
Some clients may do manual ping actions that already keep the connection
alive, or be run in environments where they otherwise know the
keep-alive conditions are different from the default.
Especially on mobile, we want to keep radio usage down, so doing
keep-alive in application logic is likely.
11 years ago
Philipp Balzarek
f99bcf0fd1
pass JID to onPresenceChange callback
11 years ago
Philipp Balzarek
5c8040b80c
add onPresenceChange method
...
onPresenceChange is called when the presence status of a peer changes,
i.e. it goes online or offline or the IM presence is changed
11 years ago
Philipp Balzarek
730b3ce61a
add IQRequestClass, sendIQRequest, runIQHandler
11 years ago
Philipp Balzarek
8f9d54dee3
set upper bound of conduit
11 years ago
Philipp Balzarek
9e776a39a6
export streamState
12 years ago
Philipp Balzarek
a5e25a5657
fix some discrepancies to RFC6120/6121/6122
12 years ago
Philipp Balzarek
4bb213688b
add support for extended attributes
...
See RFC6120 §8.4
( http://xmpp.org/rfcs/rfc6120.html#stanzas-extended )
12 years ago
Philipp Balzarek
648941cdaf
fix some outdated comments
12 years ago
Philipp Balzarek
e56c425691
re-add debug output to outbound stanzas
12 years ago
Jon Kristensen
2b1b1c8d00
Apply minor Haddock changes
12 years ago
Philipp Balzarek
79c368c6eb
additional cleanups and documentation fixes
12 years ago
Philipp Balzarek
3b4c95af0a
add pullMessageA and remove Annotations from pullMessage
12 years ago
Philipp Balzarek
3b8297e2c2
remodel functions to expose STM actions rather than STM datat types
...
TVars and TChans expose the wrong interfaces (e.g. a user shouldn't be
able to add IQRequestTickets to the inbound channel or change the answer
recevied after sending an IQRequest).
12 years ago
Philipp Balzarek
e6a559faa2
use cloneTChan instead of dubTChan in dupSession
12 years ago
Philipp Balzarek
1c44e4fd23
improve documentation and export annotated functions
12 years ago
Philipp Balzarek
30a1408689
fix handling IQ responses
...
IQs sent to the server may evoke responses with "from" attribute different
from the "to" attribute the request was sent to. Specifically, it might
be either empty, the JID of the server (that is, only domain part set) or either
the bare or full JID of the client.
12 years ago
Philipp Balzarek
4efb81758c
Check IQ response from addresses
12 years ago
Philipp Balzarek
f966919668
improve documentation
...
Add type synonyms: Username, Password, AuthZID, AuthData and Resource
12 years ago
Philipp Balzarek
1edaab5b92
move from exceptions as StreamHandle error indicator to XmppFailure error values.
...
This changes the return type of at least the following functions from IO Bool to IO (Either XmppFailure ())
* sendIQ
* sendIQ'
* answerIQ
* sendMessage
* sendPresence
12 years ago
Philipp Balzarek
3f8848825f
add type delcaration to runHandlers and don't pass write sem to startThreadsWith
12 years ago
Philipp Balzarek
9bb7c0933d
add Show instance to Annotation and add getAnnotation
12 years ago
Philipp Balzarek
b921593857
change handling returned annotations: Annotations are appended to the list
12 years ago
Philipp Balzarek
ce97a57392
add Annotations to received stanzas
...
Annotations allow plugins to attach information to processed stanzas, for example to signal that the stanza was received encrypted.
12 years ago
Philipp Balzarek
da64e8758e
remove IQResponseTimeout from IQResponse
...
IQResponseTimeout does not model an XMPP type but is instead an implementation specific signal that a user-set timeout has occured. Removing it keeps our representation closer to the defined protocol.
add IQSendError to keep the result of sendIQ' clear
12 years ago
Philipp Balzarek
664daa540a
add timeout parameter to sendIQ'
12 years ago
Philipp Balzarek
3f22f8d9d6
improve plugin interface
...
Plugins will now be handed the xmpp session once it is created so they can tie the knot if necessary
12 years ago
Philipp Balzarek
df146e3975
add plugin interface
12 years ago
Philipp Balzarek
030ea4d02b
correct some documentation errors
12 years ago
Jon Kristensen
47d8fcac49
Apply some additional minor Haddock fixes
12 years ago
Jon Kristensen
e7a6c7cd07
Remove the `StanzaID' type and the `IdGenerator' newtype
12 years ago
Philipp Balzarek
7d5007096e
clean up some minor problems
12 years ago
Philipp Balzarek
1ce5aaf222
improve reconnect
...
rename reconnect to reconnectNow
* reconnect immediately
* function returns failure mode on error
add reconnect function
* retries when reconnect failes
* waits exponentially increasing amount of seconds between attemps
* returns last encountered error when all attempts fail
12 years ago
Philipp Balzarek
5831a7b42f
add waitForStream
13 years ago
Jon Kristensen
52961a70a4
IQ.hs: Set default time-out value to 30 instead of 3
13 years ago
Philipp Balzarek
ae41225d54
add reconnect function
13 years ago
Philipp Balzarek
1551e4c984
drop outbound stanza buffering
...
Stanza send functionality now directly sends the stanzas over the wire and returns appropriate notification whether the sent succeeded (as far as we can tell)
13 years ago
Philipp Balzarek
92746237a9
check for roster versioning stream feature and disable roster versioning unless present
13 years ago
Philipp Balzarek
4d5343037c
quell ghc warnings
13 years ago
Philipp Balzarek
e0821567de
run connectionClosedHandler on calls of closeConnection
13 years ago
Philipp Balzarek
53b73bc905
allow read Worker to close streams on read failure and prevent it from stopping itself in this case
13 years ago
Philipp Balzarek
f0d558a528
reinstate withConnection and fix closeConnection
13 years ago
Philipp Balzarek
2aab7710e1
move SessionConfiguration to Network.Xmpp.Concurrent.Types
13 years ago
Philipp Balzarek
34e80d8fe2
export setConnectionClosedHandler
13 years ago
Philipp Balzarek
c01fe10999
add cleseConnection and endSession
13 years ago
Philipp Balzarek
a7ac1e59e2
change reader conduit to buffered source
...
kill reader thread when end of stream is reached
13 years ago
Philipp Balzarek
a130d611f4
add getStanza and getStanzaChan
13 years ago
Philipp Balzarek
1f3a18f2ef
change pullStanza to not block the stream
...
add debugging information for outgoing stanzas over TLS
cleanup in Xmpp.Concurrent.Threads
13 years ago
Philipp Balzarek
0bb4f4dabb
refactor answerIQ. The ticket now contains the method to answer itself, so tickets can now be answered without needing access to the unerlying session.
13 years ago
Philipp Balzarek
b83de8a11b
add getJid
13 years ago