org.apache.jk.common
Class ChannelJni
public
class
ChannelJni
extends JniHandler
implements JkChannel
Pass messages using jni
Author: Costin Manolache
public ChannelJni()
public String getChannelName()
public void init()
Receive a packet from the C side. This is called from the C
code using invocation, but only for the first packet - to avoid
recursivity and thread problems.
This may look strange, but seems the best solution for the
problem ( the problem is that we don't have 'continuation' ).
sendPacket will move the thread execution on the C side, and
return when another packet is available. For packets that
are one way it'll return after it is processed too ( having
2 threads is far more expensive ).
Again, the goal is to be efficient and behave like all other
Channels ( so the rest of the code can be shared ). Playing with
java objects on C is extremely difficult to optimize and do
right ( IMHO ), so we'll try to keep it simple - byte[] passing,
the conversion done in java ( after we know the encoding and
if anyone asks for it - same lazy behavior as in 3.3 ).
Receives does nothing - send will put the response
in the same buffer
Send the packet. XXX This will modify msg !!!
We could use 2 packets, or sendAndReceive().
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.