1 *b1cdbd2cSJim Jagielski#************************************************************** 2 *b1cdbd2cSJim Jagielski# 3 *b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 4 *b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 5 *b1cdbd2cSJim Jagielski# distributed with this work for additional information 6 *b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 7 *b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 8 *b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 9 *b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 10 *b1cdbd2cSJim Jagielski# 11 *b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 12 *b1cdbd2cSJim Jagielski# 13 *b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 14 *b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 15 *b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 *b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 17 *b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 18 *b1cdbd2cSJim Jagielski# under the License. 19 *b1cdbd2cSJim Jagielski# 20 *b1cdbd2cSJim Jagielski#************************************************************** 21 *b1cdbd2cSJim Jagielski 22 *b1cdbd2cSJim JagielskiTest that a Java URP bridge started in a native process uses the same thread 23 *b1cdbd2cSJim Jagielskipool as a C++ URP bridge. This test currently only works on Linux Intel. 24 *b1cdbd2cSJim Jagielski 25 *b1cdbd2cSJim JagielskiThere are two processes involved. The client starts as a native process. It 26 *b1cdbd2cSJim Jagielskifirst loads a Java component (Relay) via the in-process JNI bridge, which in 27 *b1cdbd2cSJim Jagielskiturn starts to accept incomming URP connections. The native part of the client 28 *b1cdbd2cSJim Jagielskithen connects to the server, retrieves a thread-local token from it, and checks 29 *b1cdbd2cSJim Jagielskithe token for correctness. The server simply waits for a connection from the 30 *b1cdbd2cSJim Jagielskinative part of the client, creates a connection to the Java part of the client, 31 *b1cdbd2cSJim Jagielskiand routes all requests from the native part of the client to the Java part of 32 *b1cdbd2cSJim Jagielskithe client. The Java part of the client in turn uses the in-process JNI bridge 33 *b1cdbd2cSJim Jagielskito obtain the thread-local token. 34