Difference between revisions of "VPP/Java API/Plugin support"

From fd.io
< VPP‎ | Java API
Jump to: navigation, search
(Created page with "This page is a design proposal for Java API to support VPP plugins.")
 
(Problems needs to be solved)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
This page is a design proposal for Java API to support VPP plugins.
 
This page is a design proposal for Java API to support VPP plugins.
 +
 +
== Architecture ==
 +
 +
[[File:JVPP Architecture.png|http://yuml.me/edit/cf23df5c]]
 +
 +
== Main assumptions ==
 +
 +
* JVppRegistry holds a map of callback interfaces for JVppCore and plugins (generated together with JNI implementations based on provided api files).
 +
 +
* when API user sends a message, JVppRegistry delegates the call to JNI implementation provided by the particular plugin
 +
 +
* when JNI code receives reply, it asks the registry for appropriate callback interface and invokes callback method that corresponds to the received message reply
 +
 +
== TODO ==
 +
 +
* util.py stores workarounds for messages that are not following vpe.api naming conventions. It needs to be extensible, just in case vpp plugins have their own peculiarities
 +
* test jvpp_gen package installation on centos7

Latest revision as of 15:00, 16 August 2016

This page is a design proposal for Java API to support VPP plugins.

Architecture

http://yuml.me/edit/cf23df5c

Main assumptions

  • JVppRegistry holds a map of callback interfaces for JVppCore and plugins (generated together with JNI implementations based on provided api files).
  • when API user sends a message, JVppRegistry delegates the call to JNI implementation provided by the particular plugin
  • when JNI code receives reply, it asks the registry for appropriate callback interface and invokes callback method that corresponds to the received message reply

TODO

  • util.py stores workarounds for messages that are not following vpe.api naming conventions. It needs to be extensible, just in case vpp plugins have their own peculiarities
  • test jvpp_gen package installation on centos7