def self.create(transport, domain, session_details = nil)
result = nil
if transport.ssl?
transport.instance_eval { result = @ssl }
if ((!domain.nil? && (result.domain != domain)) ||
(!session_details.nil? && (result.session_details != session_details)))
raise SSLException.new("cannot re-configure existing SSL object")
end
else
impl = Cproton.pn_ssl(transport.impl)
session_id = nil
session_id = session_details.session_id unless session_details.nil?
result = SSL.new(impl, domain, session_details, session_id)
end
return result
end