1. 21 Aug, 2014 2 commits
    • Philip Withnall's avatar
      agent: Rearchitect message handling to use GErrors for EWOULDBLOCK · ee109a91
      Philip Withnall authored
      Previously, an EWOULDBLOCK return value from the low-level socket calls
      (including PseudoTcpSocket) would be represented by a zero number of
      bytes (or messages) read by the agent. This conflicts with the use of
      zero to represent end of stream (EOS) for pseudo-TCP connections, where
      the sender has indicated that they are not going to send any more bytes.
      
      So, now use GError (G_IO_ERROR_WOULD_BLOCK) to represent EWOULDBLOCK,
      just like the GSocket functions. Zero is reserved exclusively for if:
       • the number of requested bytes/messages is zero; or
       • reliable mode is enabled and EOS is reached.
      
      This does change the documented behaviour of the NiceAgent send/recv
      API, but only by allowing a new behaviour (returning zero) rather than
      by changing an existing one, so it should be OK.
      ee109a91
    • Olivier Crête's avatar
      agent: Add "keepalive-conncheck" property to make keepalives be conncheck · 9d77c426
      Olivier Crête authored
      This is to use keepalives to check if the connection is still ongoing. If
      they don't get a reply, then we can assume that the connection has died.
      
      This needs to not happen in the case of ICE-TCP.
      9d77c426
  2. 25 Jul, 2014 2 commits
  3. 23 Jul, 2014 1 commit
    • Youness Alaoui's avatar
      Do not access component if it was destroyed when calling the io callback · 287f8a8b
      Youness Alaoui authored
      When calling component_emit_io_callback, the agent mutex will be unlocked before
      the callback is called, this can cause another thread to remove the
      stream and thus destroying the component. We must verify that the
      source was not destroyed after calling component_emit_io_callback
      and avoid accessing the component in that case.
      Bug report by Stephan Thamm in the mailing list.
      287f8a8b
  4. 12 Jul, 2014 1 commit
  5. 07 Jul, 2014 3 commits
  6. 17 May, 2014 29 commits
  7. 15 May, 2014 2 commits