summaryrefslogtreecommitdiff
path: root/lib/jinterface/java_src
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearErlang/OTP2023-02-141-1/+1
|
* Merge branch 'maint' into masterSverker Eriksson2023-01-181-1/+40
|\
| * jinterface: Accept ver5 distribution connection setupSverker Eriksson2023-01-171-1/+40
| | | | | | | | Partially reverts cdd868b44792e878be781e37ce3a38375f0b22e9.
* | Make new link protocol mandatoryRickard Green2022-06-132-41/+23
| |
* | Make version 4 external node container types mandatoryRickard Green2022-06-131-2/+5
|/
* jinterface: Remove old distribution handshakeSverker Eriksson2022-04-042-112/+24
|
* jinterface: Support custom distribution protocols without epmdJérôme de Bretagne2022-03-036-41/+277
| | | | | | | | | | | | | | | | | | | | | | | | Make connections to the Erlang Port Mapper Daemon (epmd) optional in Jinterface when providing a custom transport factory, as is possible for Erlang nodes with the -no_epmd -proto_dist options. The existing Jinterface classes and interfaces have been designed originally for transport protocols using a socket port number and didn't support other protocols working without epmd. To provide backward compatibility and avoid code duplication, create a new OtpGenericTransportFactory abstract class which does not expect a socket port number but use the peer and local nodes instead as generic identifiers. This expands the Jinterface compatibility to other protocols, for instance Unix Domain Sockets. Adapt AbstractConnection, AbstractNode, OtpNode and OtpSelf to accept factory subclasses of the new OtpGenericTransportFactory and make them compatible with a wider set of alternative distribution protocols. With such transport factory subclasses, epmd is not used at all whereas the behavior remains unchanged for regular factories. Add documentation and test case for OtpGenericTransportFactory
* jinterface: Pass -encoding UTF-8 to java compilerSverker Eriksson2022-03-031-4/+4
| | | | | Option passed to avoid being dependent on machine-specific locale which could assume pure ASCII source code for example.
* Update copyright yearErlang/OTP2022-02-158-8/+8
|
* Merge branch 'maint'Sverker Eriksson2022-02-021-17/+10
|\
| * Merge branch 'sverker/23/jinterface/write_pid-fix/OTP-17887' into ↵Sverker Eriksson2022-01-311-17/+10
| |\ | | | | | | | | | sverker/jinterface/write_pid-fix/OTP-17887
| | * jinterface: Fix encoding bugs for pids, ports and refsSverker Eriksson2022-01-311-19/+12
| | | | | | | | | | | | | | | in OtpOutputStream for functions write_pid/4, write_port/3 and write_ref/3.
* | | otp: Fix `make TYPE=$TYPE` to work for all typesLukas Larsson2022-01-211-1/+1
| | |
* | | Fix typos in lib/jinterfaceKian-Meng, Ang2021-12-1814-17/+17
| | |
* | | Update copyright yearRickard Green2021-12-162-2/+2
| | |
* | | Merge branch 'maint'Rickard Green2021-12-1516-16/+16
|\ \ \ | |/ / | | | | | | | | | * maint: Update copyright year
| * | Update copyright yearRickard Green2021-12-1516-16/+16
| | |
* | | jinterface: Fix java compiler warningSverker Eriksson2021-11-041-1/+1
| | | | | | | | | | | | by avoiding deprecated Double(double) constructor.
* | | jinterface: Avoid 0-creation valueSverker Eriksson2021-11-047-21/+26
| | |
* | | Introduce a scheme for reusing mandatory distribution flagsBjörn Gustavsson2021-06-232-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During distribution connect setup between two nodes, the nodes exchange flags words encoding their capabilities. The connection setup is aborted if one of the node lacks a capability that the other node requires. In version 5 of the protocol (introduced in OTP R6), there are 32 possible capabilities (each encoded in a single bit). Since it seemed that we would soon run out of capabilitiy bits, protocol version 6 (introduced in OTP 23) expanded the number of possible capability bits to 64. To avoid having to extend the number of capabilites yet again from 64 to 128 in some future release, this commit introduces a scheme to allow reusing the bit numbers for capabilities that are now mandatory. The scheme is described in lib/kernel/include/dist.hrl. There are 10 mandatory capability bits as of OTP 25. This scheme will allow reusing 9 of those capability bits as early as in OTP 27.
* | | Consolidate mandatory distribution flags across applicationsBjörn Gustavsson2021-06-232-22/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The three applications that supports Erlang distribution (erts, erl_interface, and jinterface), do not agree which the mandatory distribution flags are. For example, DFLAG_NEW_FLOATS (support for the "new" external format for floats introduced in R11B-5) is considered mandatory in erl_interface, but not in the Erlang emulator. jinterface does not test the flag, but encodes all floats in the new external format. Update erts, erl_interface, and jinterface to all use the same set of mandatory distribution flags. Also make the following distribution flags mandatory: * DFLAG_EXPORT_PTR_TAG * DFLAG_BIT_BINARIES * DFLAG_MAP_TAG Support for them in erl_interface and jinterface was added in OTP 22 or earlier. Making them mandatory allows us to remove ugly fallback code.
* | jinterface: Fix a NullPointerException in AbstractConnectionJérôme de Bretagne2021-05-201-1/+6
| | | | | | | | | | | | After a call to close(), the socket is set to null which could lead to a NullPointerException in the receive_loop when handling tick messages. End the receive_loop instead in this case.
* | Merge branch 'rickard/link-protocol-fix/OTP-17127' into ↵Rickard Green2021-03-108-110/+441
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rickard/link-protocol-fix/master/OTP-17127 * rickard/link-protocol-fix/OTP-17127: jinterface: Fix link protocol inconsistency bug erts: Fix distribution_SUITE:bad_dist_fragments test case erts: Fix link protocol inconsistency bug in distributed case erts: Adjust link structure in distributed case erts: Fix link protocol inconsistency bug in node local case erts: Split link structure in node local case erts: Add test cases for link protocol inconsistency bug
| * | jinterface: Fix link protocol inconsistency bugRickard Green2021-03-108-111/+442
| |/
* | jinterface: make OtpErlangExternalFun transparentilya-klyuchnikov2021-01-261-3/+3
| | | | | | | | | | | | Not being able to access the internals of OtpErlangExternalFun is problematic. The real use case: performing some analysis of cerl from inside java/scala - the construct `fun module:fun/arity` is represented as "itself", and when accessing cerl forms from jinterface - it's represented as OtpErlangExternalFun correspondingly. Unfortunately, - the internals are private, - which makes some forms of Erlang core not analysable through jinterface. Also, - since all `module`, `function` and `arity` fields are final/immutable - it doesn't make much sense to hide/incapsulate them.
* | Support of 64-bit portsRickard Green2020-12-164-23/+50
| |
* | Merge DFLAG_BIG_PIDS and DFLAG_HUGE_REFS into DFLAG_V4_PIDS_REFSRickard Green2020-11-161-2/+2
| |
* | Merge branch 'rickard/alias/OTP-16718' into rickard/alias/master/OTP-16718Rickard Green2020-11-123-16/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * rickard/alias/OTP-16718: User defined tag in monitor messages Use alias in gen behaviours Introduce aliases for processes Introduce internal references containing pid of creator Allow huge remote references
| * | Allow huge remote referencesRickard Green2020-11-033-16/+38
| |/ | | | | | | | | We previously only allowed references with 3 number words. This has now been increased to 5.
* | jinterface: Accept 64bit external pidsSverker Eriksson2020-08-121-1/+3
|/ | | | | The code was already prepared to not mask away bits so we just add DFLAG_BIG_PIDS.
* Fix executable extensionsDan Gudmundsson2020-01-241-2/+5
| | | | In WSL binaries must be invoked with .exe extension.
* Improve distribution handshakeSverker Eriksson2020-01-144-68/+166
|
* Merge branch 'maint'Dan Gudmundsson2019-08-071-4/+4
|\ | | | | | | | | | | | | * maint: Update java doc Print last lines of configure log Force xenial builds in travis
| * Update java docDan Gudmundsson2019-08-071-4/+4
| | | | | | | | Replace deprecated <tt> with <code>
* | jinterface: Remove old encoding of pid,port,refsSverker Eriksson2019-05-144-56/+13
|/ | | | This reverts revert-commit 440ef99ddcd3cddb5f8f7bd23ec282c8efe32bd3.
* jinterface: Add dist flag for export funsSverker Eriksson2019-04-171-1/+2
| | | | The implementation is already there (OtpErlangExternalFun).
* Revert "jinterface: Remove old encoding of pid,port,refs"Sverker Eriksson2019-04-094-13/+56
| | | | This reverts commit 3c7a387c21d7b0d054c22509828142a80e509317.
* jinterface: Remove old encoding of pid,port,refsSverker Eriksson2019-03-254-56/+13
|
* Change "can not" into "cannot"Raimo Niskanen2018-07-273-9/+9
| | | | | I did not find any legitimate use of "can not", however skipped changing e.g RFCs archived in the source tree.
* Update copyright yearHenrik Nord2018-06-181-1/+1
|
* jinterface: add package name for Java 9Vlad Dumitrescu2017-12-121-0/+11
| | | The Java 9 module system requires a module name to be defined. If none is provided, a default one is used derived from the JAR name, but that one is not very unique and can create problems. The recommended module name is the longest common package name for the source code included.
* Add toplevel xmllint make targetLukas Larsson2017-10-311-2/+1
|
* Update copyright yearRaimo Niskanen2017-05-043-3/+3
|
* jinterface: Do not generate atoms on old latin1 external formatSverker Eriksson2017-03-081-22/+7
|
* Fixed typos in lib/jinterfaceAndrew Dryga2017-02-142-2/+2
|
* Merge branch 'vladdu/jinterface_pom/ERL-67/PR-1005/OTP-13482'Henrik Nord2016-05-041-7/+35
|\ | | | | | | | | * vladdu/jinterface_pom/ERL-67/PR-1005/OTP-13482: jinterface: updated pom.xml.src
| * jinterface: updated pom.xml.srcVlad Dumitrescu2016-03-311-7/+35
| |
* | Merge branch 'henrik/update-copyrightyear'Henrik Nord2016-04-1356-56/+56
|\ \ | | | | | | | | | | | | * henrik/update-copyrightyear: update copyright-year
| * | update copyright-yearHenrik Nord2016-03-1556-56/+56
| |/
* | erts: Add DFLAG_BIG_CREATIONSverker Eriksson2016-04-071-1/+3
| | | | | | | | | | to let future nodes know that we can handle NEW_PID_EXT, NEW_PORT_EXT and NEWER_REFERENCE_EXT.