An error occurred while fetching folder content.
Guillaume Roguez
authored
Or at least independant of underlaying transport...
To make TlsSession able to handle both TLS and DTLS
this patch removes the ICE dependency and replace is
by the generic network ABC class 'GenericTransport'.
As a first step this class is declared in tls_session.h.
Side effects of this change are:
* refactoring of PMTUD procedure: 'MTU' for gnutls has the meaning
on 'payload-for-gnutls' so this information is now drived by
the generic transport and not hardcoded anymore.
The minimal value of probing remains hardcoded, as is a minimum
given by RFC's documentation and it's based on an IPv4 packet
associated with UDP protocol.
* getMtu() is now maxPayload() and represent correctly what
the application must have.
* TlsSession implements itself GenericTransport: we can chain
GenericTransport instances to construct an overlayed transport
protocol.
* TlsSession is now considered as non thread-safe for its public API.
Caller must bring itself this property.
This permit to remove a redundant mutex in send() operation.
Note: and it's the case in the only user (SipsIceTransport),
that why the mutex is redundant in 100% of cases.
Notice the benefit of this genericity refactoring let us
write a unit-test for this TlsSession class without having
an heavy ICE transport to mock-up.
Also ICE transport gained of this by adding a new IceSocketTransport
to replace IceSocket in a near future (need async IO in GenericSocket,
but not required for the moment).
Change-Id: I6f4591ed6c76fa9cb5519c6e9296f8fc3a6798aa
Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
Name | Last commit | Last update |
---|