Added extra IPC/UDP test
This commit is contained in:
parent
cc9742fe14
commit
69681f626a
|
@ -53,8 +53,87 @@ class MultipleServerTest : BaseTest() {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Throws(SecurityException::class, IOException::class)
|
@Throws(SecurityException::class, IOException::class)
|
||||||
fun multipleServers() {
|
fun multipleUDP() {
|
||||||
val portOffset = 2
|
val portOffset = 2
|
||||||
|
received.set(0)
|
||||||
|
|
||||||
|
var serverAeronDir: File? = null
|
||||||
|
val didReceive = mutableListOf<AtomicBoolean>()
|
||||||
|
|
||||||
|
for (count in 0 until total) {
|
||||||
|
didReceive.add(AtomicBoolean())
|
||||||
|
val offset = count * portOffset
|
||||||
|
|
||||||
|
val configuration = serverConfig()
|
||||||
|
configuration.subscriptionPort += offset
|
||||||
|
configuration.publicationPort += offset
|
||||||
|
configuration.aeronDirectory = serverAeronDir
|
||||||
|
configuration.enableIpc = false
|
||||||
|
|
||||||
|
val server: Server<Connection> = Server(configuration)
|
||||||
|
addEndPoint(server)
|
||||||
|
|
||||||
|
server.onMessage<String>{ connection, message ->
|
||||||
|
if (message != "client_$count") {
|
||||||
|
Assert.fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
didReceive[count].set(true)
|
||||||
|
if (received.incrementAndGet() == total) {
|
||||||
|
connection.logger.error("Done, stopping endpoints")
|
||||||
|
stopEndPoints()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server.bind()
|
||||||
|
|
||||||
|
serverAeronDir = File(configuration.aeronDirectory.toString() + count)
|
||||||
|
}
|
||||||
|
|
||||||
|
var clientAeronDir: File? = null
|
||||||
|
val didSend = mutableListOf<AtomicBoolean>()
|
||||||
|
|
||||||
|
for (count in 0 until total) {
|
||||||
|
didSend.add(AtomicBoolean())
|
||||||
|
val offset = count * portOffset
|
||||||
|
|
||||||
|
val configuration = clientConfig()
|
||||||
|
configuration.subscriptionPort += offset
|
||||||
|
configuration.publicationPort += offset
|
||||||
|
configuration.aeronDirectory = clientAeronDir
|
||||||
|
configuration.enableIpc = false
|
||||||
|
|
||||||
|
|
||||||
|
val client: Client<Connection> = Client(configuration)
|
||||||
|
addEndPoint(client)
|
||||||
|
|
||||||
|
clientAeronDir = File(configuration.aeronDirectory.toString() + count)
|
||||||
|
|
||||||
|
client.onConnect { connection ->
|
||||||
|
didSend[count].set(true)
|
||||||
|
connection.send("client_$count")
|
||||||
|
}
|
||||||
|
|
||||||
|
runBlocking {
|
||||||
|
client.connect(LOOPBACK)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
waitForThreads()
|
||||||
|
|
||||||
|
didSend.forEach {
|
||||||
|
assertTrue(it.get())
|
||||||
|
}
|
||||||
|
didReceive.forEach {
|
||||||
|
assertTrue(it.get())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Throws(SecurityException::class, IOException::class)
|
||||||
|
fun multipleIPC() {
|
||||||
|
val portOffset = 2
|
||||||
|
received.set(0)
|
||||||
|
|
||||||
var serverAeronDir: File? = null
|
var serverAeronDir: File? = null
|
||||||
val didReceive = mutableListOf<AtomicBoolean>()
|
val didReceive = mutableListOf<AtomicBoolean>()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user