Age | Commit message (Collapse) | Author |
|
* maint:
Add .appup file
|
|
|
|
|
|
* vladdu/jinterface_code_cleanup/OTP-12211:
fix warning: Socket's InputStream not closed
silence 'potential resource leak' warnings
don't warn about some unused fields/variables
handle warnings about potential null pointers
keep all method parameters final
renamed method parameters hiding fields
add 'break' statements to make compiler happy
remove warnings from OtpMD5
rename OtpNode.flags to connFlags
rename OtpNode.Acceptor.port to acceptorPort
rename field 'self' to 'localNode'
mark deprecated unused private constructor
simplify 'if' statements
remove warnings: @Override, switch fall-through
make serialVersionUID fields private
remove unnecessary syntax (casts)
remove unused variables
removed unnecessary semicolons, imports, labels
remove unnecessary null pointer checks
remove unnecessary Cloneable and Serializable
|
|
* vladdu/jinterface_findbugs/OTP-12210:
OtpErlangList.clone must not return null
handle empty .erlang.cookie without crashing
|
|
Conflicts:
OTP_VERSION
lib/ssh/test/ssh_connection_SUITE.erl
|
|
|
|
|
|
|
|
The warning is issued if we assign the stream to a variable. The stream
is getting closed together with the socket.
|
|
OtpInputStream and OtoOutputStream don't need closing (they are
ByteArray*Streams)
|
|
|
|
|
|
|
|
|
|
was colliding to AbstractNode.flags
|
|
was colliding with OtpLocalNode.port
|
|
field 'OtpLocalNode self' was colliding with 'OtpSelf self' in
OtpConnection
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OTP-12121
* vladdu/jinterface_fun_equals:
jinterface: fix bug in equality for OtpErlangFun
|
|
Arrays (here: md5 and freeVars) must not be compared with equals, which
is broken.
|
|
|
|
OTP-12050
* nox/fix-javadoc:
Fix a few javadoc errors
|
|
Reported-by: Boris Mühmer
|
|
Arrays have no meaningful toString method, but one must use
Arrays.toString instead. The meaningless value would look for example
like "[C@16f0472", instead of "[2,4]".
|
|
This is just a preparation to allow detection of older nodes
that do not understand maps (R16 and older).
|
|
to be: 116,Arity, K1,V1,K2,V2,...,Kn,Vn
instead of: 116,Arity, K1,K2,...,Kn, V1,V2,....,Vn
We think this will be better for future internal map structures
like HAMT. Would be bad if we need to iterate twice over HAMT
in term_to_binary, one for keys and one for values.
|
|
The API and implementation are simplistic, like for lists and tuples,
using arrays and without any connection to java.util.Map.
|
|
|
|
* nk/jinterface_dont_compress_if_size_increased/OTP-10822:
jinterface, OtpOutputStream: add a write_compressed(object, level) method
jinterface: fix a memory leak
jinterface: new limited OutputStream implementation without the need to resize
jinterface: don't return compressed external term if bigger than uncompressed
jinterface: don't compress small erlang terms < 5 bytes
jinterface, OtpOutputStream: properly override the three write() methods to ensure our growth strategy
jinterface: fix typo in error message if encoding fails
jinterface: don't need another FilterOutputStream wrapper
|
|
* vd/jinterface_windows_cookie/OTP-10821:
jinterface: fix finding cookie file on windows
|
|
Now that we use an own deflater, we can also allow the user to specify the compression level as in Erlang's term_to_binary/2.
|
|
after the first try to compress the value with a fixed buffer size, the deflater must be closed so that memory can be (instantly) reused
|
|
(saves memory re-allocations)
|
|
Now, OtpOutputStream#write_compressed() uses the same mechanism as erts_term_to_binary() in external.c: it tries to compress the given term into a buffer of the size of the uncompressed term and if this is not possible, i.e. the compression plus headers is bigger, it uses the uncompressed external term format instead.
|
|
Compression always has at least 5 bytes (the compressed tag + original size) so we can't get a smaller external term if the original term is already smaller than 5 bytes.
|
|
ensure our growth strategy
Previously, if code called e.g. write(byte[] b, int off, int len), the growth strategy of the parent class ByteArrayOutputStream was used.
|
|
|
|
DeflaterOutputStream is already an FilterOutputStream
|
|
Jinterface uses System.getProperty("user.home") to locate the user's home
and the cookie file. On Windows, the result might be different than the
value used by Erlang, which looks first to the HOMEDRIVE and HOMEPATH
variables.
The fix makes jinterface use the same logic.
|
|
The elems field would remain unitialized if the count parameter is zero in constructor
|