|
@@ -167,10 +167,18 @@ if client_get || client_expand || client_collect || client_update {
|
|
|
_ = collectCall.sendMessage(message:requestMessage)
|
|
_ = collectCall.sendMessage(message:requestMessage)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ func sendClose() {
|
|
|
|
|
+ print("Closing")
|
|
|
|
|
+ _ = try! collectCall.close(completion:{})
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
func receiveCollectMessage() throws -> Void {
|
|
func receiveCollectMessage() throws -> Void {
|
|
|
try collectCall.receiveMessage() {(responseMessage) in
|
|
try collectCall.receiveMessage() {(responseMessage) in
|
|
|
if let responseMessage = responseMessage {
|
|
if let responseMessage = responseMessage {
|
|
|
print("Received: " + responseMessage.text)
|
|
print("Received: " + responseMessage.text)
|
|
|
|
|
+ done.lock()
|
|
|
|
|
+ done.signal()
|
|
|
|
|
+ done.unlock()
|
|
|
} else {
|
|
} else {
|
|
|
print("collect closed")
|
|
print("collect closed")
|
|
|
done.lock()
|
|
done.lock()
|
|
@@ -182,6 +190,13 @@ if client_get || client_expand || client_collect || client_update {
|
|
|
try collectCall.start(metadata:requestMetadata)
|
|
try collectCall.start(metadata:requestMetadata)
|
|
|
try receiveCollectMessage()
|
|
try receiveCollectMessage()
|
|
|
sendCollectMessage()
|
|
sendCollectMessage()
|
|
|
|
|
+ sleep(1)
|
|
|
|
|
+ sendCollectMessage()
|
|
|
|
|
+ sleep(1)
|
|
|
|
|
+ sendCollectMessage()
|
|
|
|
|
+ sleep(1)
|
|
|
|
|
+ sendClose()
|
|
|
|
|
+
|
|
|
done.lock()
|
|
done.lock()
|
|
|
done.wait()
|
|
done.wait()
|
|
|
done.unlock()
|
|
done.unlock()
|
|
@@ -197,6 +212,11 @@ if client_get || client_expand || client_collect || client_update {
|
|
|
_ = updateCall.sendMessage(message:requestMessage)
|
|
_ = updateCall.sendMessage(message:requestMessage)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ func sendClose() {
|
|
|
|
|
+ print("Closing")
|
|
|
|
|
+ _ = try! updateCall.close(completion:{})
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
func receiveUpdateMessage() throws -> Void {
|
|
func receiveUpdateMessage() throws -> Void {
|
|
|
try updateCall.receiveMessage() {(responseMessage) in
|
|
try updateCall.receiveMessage() {(responseMessage) in
|
|
|
try receiveUpdateMessage() // prepare to receive the next message
|
|
try receiveUpdateMessage() // prepare to receive the next message
|
|
@@ -214,6 +234,13 @@ if client_get || client_expand || client_collect || client_update {
|
|
|
try updateCall.start(metadata:requestMetadata)
|
|
try updateCall.start(metadata:requestMetadata)
|
|
|
try receiveUpdateMessage()
|
|
try receiveUpdateMessage()
|
|
|
sendUpdateMessage()
|
|
sendUpdateMessage()
|
|
|
|
|
+ sleep(1)
|
|
|
|
|
+ sendUpdateMessage()
|
|
|
|
|
+ sleep(1)
|
|
|
|
|
+ sendUpdateMessage()
|
|
|
|
|
+ sleep(1)
|
|
|
|
|
+ sendClose()
|
|
|
|
|
+ sleep(1)
|
|
|
done.lock()
|
|
done.lock()
|
|
|
done.wait()
|
|
done.wait()
|
|
|
done.unlock()
|
|
done.unlock()
|