Age | Commit message (Collapse) | Author | Files | Lines |
|
See: https://wiki.fd.io/view/VPP/Python_API
Change-Id: If135fc32208c7031787e1935b399d930e0e1ea1f
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: Ic1247a712614df2762c95142122ff122076fd0ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7
Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
|
|
AtomicBoolean forces the enclosed boolean to be cache-aligned,
needlessly hitting a cacheline. Since we only flip state only once,
when the connection is severed, we can turn this into a volatile
boolean.
Doing that is costing us a synchronized close(), but that is perfectly
acceptable, as that is called only once.
Change-Id: I76fda3d3f65a5f800e7d3970b0b8fe99fb3e8b6d
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
This should be coming from string.h.
Change-Id: Id88bb1d2a4681a9dcf6db9c7de2580a5219869d1
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
GetStringUTFChars() can fail, returning NULL. Make sure we do not trip
over it.
Change-Id: I2d6b9c72c353c2423042fd035087f0d57fdc08ca
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Allocation of the integer array may fail, guard against NPE.
Change-Id: I3e860153597638392c9b669a6ad586fd2e03a64d
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Pure cleanup of indentation and brace placement, so the file ends up
being consisteny.
Change-Id: Idd2f20deda486d16b455f3e13cacbc2f3baa50f1
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
vppConn.java in commit #169
Change-Id: Id9feaebdce199f239741a10d31bf7aa473a62806
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
The symbol is not referenced outside of the source file, hide it from
the world.
Change-Id: Id5db73efff0767657ebc5a0b25dcccd2b85e354d
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Adding hidden attribute results in compilation failure if the symbol is
not found when linking the .so. It should also lead to better
performance, as it side-steps GOT.
Change-Id: I7b6f39e663ca2b3e432669a3e2b36d7395f555b6
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
There is skew between symbol names of vppjni_env.[ch], causing the
library to fail to load. This patch fixes that up.
Change-Id: I972e6d0ce72fd05ee3518e7161e20946ff3426ca
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
vec_add1() seems to be allocating memory which we do not free. Correct
that.
Change-Id: I25dca1871121cdd11a218ff2289a3c51b42e843b
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Instead of performing getting the elements, memcpy()ing them and the
releasing, use GetByteArrayRegion().
Change-Id: I20ef181df214ac4fdcaff5a64b89ef4f879078f8
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
vlib does not allow concurrent connections, hence make sure the Java API
does not allow the user to instantiate them.
Also hide native methods from direct user invocation behind defensive
methods also detect if a particular connection has been terminated.
Disconnect is hidden befind standard close() method, as specified by
AutoCloseable.
Change-Id: Ib5079200ae4216cad84358a2174a41e90271a30b
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Class fields initialized via the constructor should be final.
Also mark leaking byte[] instances with a FIXME. API users consider them
immutable, but they are vulnerable to System.arrayCopy().
Also fixes constructor arguments so they do not use underscores, which
is prohibited by Java 9.
Change-Id: I393d55ed7234149cb3604bc92b2cb1d1207c55dc
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Change-Id: Ib543249b8de2b26b64de82c35f74422d10a5ee66
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
This patch introduces an initialization framework, which tracks required
references to Java classes and methods.
It works by declaring classes and their constructor signatures, which
are linked into a singly-linked list when the .so initializers are run.
Once JNI_OnLoad() is invoked, this list is walked and all classes and
their initializers are resolved. These are then used while the library
remains loaded. Once JNI_OnUnload() is called, global references are
released, so we can cleanly unload.
The class declaration results in static utility objects being emitted in
the scope of the declaration, hence to allocate an object or an array of
objects is done via simple calls.
Change-Id: I41984c13756339364dbcbf0144b947627e8e4fe1
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: I683298c9f1dbff4c1067fb3004b5554fdc8b4ee1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I084ffcf36fbac55c2862035d10b028e35e1e648d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I05895827ed52be292112484cee7d0a2591b67335
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Change-Id: I90983f3df94a3b28199908b29ffd8f827ab0c379
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
|