SSLStringize.java (was Re: Code Review Request: TLS 1.3 Implementation)
    Weijun Wang 
    weijun.wang at oracle.com
       
    Wed Jun  6 10:58:05 UTC 2018
    
    
  
SSLStringize.java:
1. I assume the toString() method does not change the internal status of a ByteBuffer? Is it worth mentioning this in the spec?
2. Should this interface and all its implementations be renamed to ***Stringnizer?
3. Lot of typo: ***Concumer. You can probably "cd sun/security/ssl" and run
   perl -i -pe 's/Concumer/Consumer/g' *.java
The whole SSLStringize + children classes looks complicated to me. Since the implementation is almost always creating a SSLExtensionSpec object and calling its toString, is it possible to register this SSLExtensionSpec class name in each enum value in SSLExtension and somehow simplify the design? Something like --
   In constructor of SSLExtension, change the last parameter from
   "SSLStringize stringize" to "Class<? extends SSLExtensionSpec> specClazz"
   store the value into a private field named specClazz, and
   then you can change "stringize.toString(byteBuffer)" to something like
   "specClazz.newInstance(byteBuffer).toString()".
That said, I know you must have thought about this much more. If there is any space for enhancement, we can always refactor it later.
Thanks
Max
    
    
More information about the security-dev
mailing list