Skip to content

Commit 6a0a4cc

Browse files
committed
more
1 parent 2521aea commit 6a0a4cc

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

swift/test/Ice/location/Server.swift

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,25 @@
11
// Copyright (c) ZeroC, Inc.
22

3-
import Dispatch
43
import Ice
54
import TestCommon
65

6+
7+
struct DispatchWrapper: Dispatcher {
8+
let dispatcher: Dispatcher
9+
10+
func dispatch(_ request: sending IncomingRequest) async throws -> OutgoingResponse {
11+
let startTime = ContinuousClock.now
12+
let response = try await dispatcher.dispatch(request)
13+
let endTime = ContinuousClock.now
14+
let elapsed = startTime.duration(to: endTime)
15+
16+
let logger = request.current.adapter.getCommunicator().getLogger()
17+
logger.print("Swift Dispatch: identity=\(request.current.id) operation=\(request.current.operation) duration=\(Double(elapsed.components.attoseconds) / 1_000_000_000_000_000.0) ms")
18+
19+
return response
20+
}
21+
}
22+
723
class Server: TestHelperI, @unchecked Sendable {
824
override public func run(args: [String]) async throws {
925
//
@@ -13,8 +29,6 @@ class Server: TestHelperI, @unchecked Sendable {
1329
//
1430

1531
let properties = try createTestProperties(args)
16-
properties.setProperty(key: "Ice.Trace.Dispatch", value: "1")
17-
properties.setProperty(key: "Ice.Trace.Network", value: "3")
1832
properties.setProperty(key: "Ice.ThreadPool.Server.Size", value: "2")
1933
let communicator = try initialize(Ice.InitializationData(properties: properties))
2034
defer {
@@ -35,7 +49,7 @@ class Server: TestHelperI, @unchecked Sendable {
3549
// Make sure we use a separate copy of the properties as the servant modifies them.
3650
let object = ServerManagerI(registry: registry, properties: properties.clone(), helper: self)
3751

38-
try adapter.add(servant: object, id: Ice.stringToIdentity("ServerManager"))
52+
try adapter.add(servant: DispatchWrapper(dispatcher: object), id: Ice.stringToIdentity("ServerManager"))
3953
try await registry.addObject(adapter.createProxy(Ice.stringToIdentity("ServerManager")))
4054

4155
let registryPrx = try uncheckedCast(
@@ -45,7 +59,7 @@ class Server: TestHelperI, @unchecked Sendable {
4559
type: Ice.LocatorRegistryPrx.self)
4660

4761
let locator = ServerLocator(registry: registry, registryPrx: registryPrx)
48-
try adapter.add(servant: locator, id: Ice.stringToIdentity("locator"))
62+
try adapter.add(servant: DispatchWrapper(dispatcher: locator), id: Ice.stringToIdentity("locator"))
4963

5064
try adapter.activate()
5165
serverReady()

0 commit comments

Comments
 (0)