Cleaned up duplicate aeron pub/sub logs
This commit is contained in:
parent
c57f0564db
commit
024ff53e20
@ -14,6 +14,7 @@ import dorkbox.network.aeron.mediaDriver.controlEndpoint
|
|||||||
import dorkbox.network.connection.Connection
|
import dorkbox.network.connection.Connection
|
||||||
import dorkbox.network.connection.ConnectionParams
|
import dorkbox.network.connection.ConnectionParams
|
||||||
import dorkbox.network.connection.EndPoint
|
import dorkbox.network.connection.EndPoint
|
||||||
|
import io.aeron.CommonContext
|
||||||
import io.aeron.FragmentAssembler
|
import io.aeron.FragmentAssembler
|
||||||
import io.aeron.Image
|
import io.aeron.Image
|
||||||
import io.aeron.logbuffer.Header
|
import io.aeron.logbuffer.Header
|
||||||
@ -54,10 +55,9 @@ internal object ServerHandshakePollers {
|
|||||||
} else {
|
} else {
|
||||||
// we create a NEW publication for the handshake, which connects directly to the client handshake subscription
|
// we create a NEW publication for the handshake, which connects directly to the client handshake subscription
|
||||||
val publicationUri = uri("ipc", message.sessionId)
|
val publicationUri = uri("ipc", message.sessionId)
|
||||||
logger.trace { "Server IPC connection pub ${publicationUri.build()},stream-id=${message.streamId}" }
|
|
||||||
|
|
||||||
val publication = try {
|
val publication = try {
|
||||||
aeronDriver.addExclusivePublication(publicationUri, message.streamId)
|
aeronDriver.addExclusivePublication(publicationUri, "IPC", message.streamId)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
logger.error(e) { "Cannot create IPC publication back to remote" }
|
logger.error(e) { "Cannot create IPC publication back to remote" }
|
||||||
return
|
return
|
||||||
@ -136,12 +136,16 @@ internal object ServerHandshakePollers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val isRemoteIpv4 = clientAddress is Inet4Address
|
val isRemoteIpv4 = clientAddress is Inet4Address
|
||||||
if (!isRemoteIpv4) {
|
val type: String
|
||||||
|
|
||||||
|
if (isRemoteIpv4) {
|
||||||
|
type = "IPv4"
|
||||||
|
} else {
|
||||||
// this is necessary to clean up the address when adding it to aeron, since different formats mess it up
|
// this is necessary to clean up the address when adding it to aeron, since different formats mess it up
|
||||||
clientAddressString = IP.toString(clientAddress)
|
clientAddressString = IP.toString(clientAddress)
|
||||||
|
type = "IPv6"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// NOTE: publications are REMOVED from Aeron clients when their linger timeout has expired!!!
|
// NOTE: publications are REMOVED from Aeron clients when their linger timeout has expired!!!
|
||||||
|
|
||||||
// if we are listening on :: (ipv6), and a connection via ipv4 arrives, aeron MUST publish on the IPv4 version
|
// if we are listening on :: (ipv6), and a connection via ipv4 arrives, aeron MUST publish on the IPv4 version
|
||||||
@ -149,18 +153,19 @@ internal object ServerHandshakePollers {
|
|||||||
|
|
||||||
// we create a NEW publication for the handshake, which connects directly to the client handshake subscription CONTROL (which then goes to the proper endpoint)
|
// we create a NEW publication for the handshake, which connects directly to the client handshake subscription CONTROL (which then goes to the proper endpoint)
|
||||||
val publicationUri = uri("udp", message.sessionId, isReliable)
|
val publicationUri = uri("udp", message.sessionId, isReliable)
|
||||||
publicationUri.controlEndpoint(isRemoteIpv4, properPubAddress, port)
|
.controlEndpoint(isRemoteIpv4, properPubAddress, port)
|
||||||
|
.controlMode(CommonContext.MDC_CONTROL_MODE_DYNAMIC)
|
||||||
logger.trace { "Server connection pub $publicationUri,stream-id=${message.streamId}" }
|
|
||||||
|
|
||||||
|
|
||||||
val publication = try {
|
val publication = try {
|
||||||
aeronDriver.addExclusivePublication(publicationUri, message.streamId)
|
aeronDriver.addExclusivePublication(publicationUri, type, message.streamId)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
logger.error(e) { "Cannot create publication back to $clientAddressString" }
|
logger.error(e) { "Cannot create publication back to $clientAddressString" }
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// we actually have to wait for it to connect before we continue
|
// we actually have to wait for it to connect before we continue
|
||||||
|
|
||||||
val startTime = System.nanoTime()
|
val startTime = System.nanoTime()
|
||||||
|
Loading…
Reference in New Issue
Block a user