[Java] Change StreamItem to have items instead of results (#3317)
This commit is contained in:
parent
6c4f7b430a
commit
86787f1c28
|
|
@ -30,8 +30,8 @@ class InvocationRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addItem(StreamItem streamItem) {
|
public void addItem(StreamItem streamItem) {
|
||||||
if (streamItem.getResult() != null) {
|
if (streamItem.getItem() != null) {
|
||||||
pendingCall.onNext(streamItem.getResult());
|
pendingCall.onNext(streamItem.getItem());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,15 +73,13 @@ class JsonHubProtocol implements HubProtocol {
|
||||||
error = reader.nextString();
|
error = reader.nextString();
|
||||||
break;
|
break;
|
||||||
case "result":
|
case "result":
|
||||||
|
case "item":
|
||||||
if (invocationId == null || binder.getReturnType(invocationId) == null) {
|
if (invocationId == null || binder.getReturnType(invocationId) == null) {
|
||||||
resultToken = jsonParser.parse(reader);
|
resultToken = jsonParser.parse(reader);
|
||||||
} else {
|
} else {
|
||||||
result = gson.fromJson(reader, binder.getReturnType(invocationId));
|
result = gson.fromJson(reader, binder.getReturnType(invocationId));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "item":
|
|
||||||
reader.skipValue();
|
|
||||||
break;
|
|
||||||
case "arguments":
|
case "arguments":
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
boolean startedArray = false;
|
boolean startedArray = false;
|
||||||
|
|
|
||||||
|
|
@ -6,19 +6,19 @@ package com.microsoft.signalr;
|
||||||
final class StreamItem extends HubMessage {
|
final class StreamItem extends HubMessage {
|
||||||
private final int type = HubMessageType.STREAM_ITEM.value;
|
private final int type = HubMessageType.STREAM_ITEM.value;
|
||||||
private final String invocationId;
|
private final String invocationId;
|
||||||
private final Object result;
|
private final Object item;
|
||||||
|
|
||||||
public StreamItem(String invocationId, Object result) {
|
public StreamItem(String invocationId, Object item) {
|
||||||
this.invocationId = invocationId;
|
this.invocationId = invocationId;
|
||||||
this.result = result;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getInvocationId() {
|
public String getInvocationId() {
|
||||||
return invocationId;
|
return invocationId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getResult() {
|
public Object getItem() {
|
||||||
return result;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -388,7 +388,7 @@ class HubConnectionTest {
|
||||||
assertFalse(completed.get());
|
assertFalse(completed.get());
|
||||||
assertFalse(onNextCalled.get());
|
assertFalse(onNextCalled.get());
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"First\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"First\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
assertTrue(onNextCalled.get());
|
assertTrue(onNextCalled.get());
|
||||||
|
|
||||||
|
|
@ -416,7 +416,7 @@ class HubConnectionTest {
|
||||||
assertFalse(completed.get());
|
assertFalse(completed.get());
|
||||||
assertFalse(onNextCalled.get());
|
assertFalse(onNextCalled.get());
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"First\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"First\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
assertTrue(onNextCalled.get());
|
assertTrue(onNextCalled.get());
|
||||||
|
|
||||||
|
|
@ -446,7 +446,7 @@ class HubConnectionTest {
|
||||||
assertFalse(onErrorCalled.get());
|
assertFalse(onErrorCalled.get());
|
||||||
assertFalse(onNextCalled.get());
|
assertFalse(onNextCalled.get());
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"First\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"First\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
assertTrue(onNextCalled.get());
|
assertTrue(onNextCalled.get());
|
||||||
|
|
||||||
|
|
@ -474,8 +474,8 @@ class HubConnectionTest {
|
||||||
assertEquals("{\"type\":4,\"invocationId\":\"1\",\"target\":\"echo\",\"arguments\":[\"message\"]}" + RECORD_SEPARATOR, mockTransport.getSentMessages()[1]);
|
assertEquals("{\"type\":4,\"invocationId\":\"1\",\"target\":\"echo\",\"arguments\":[\"message\"]}" + RECORD_SEPARATOR, mockTransport.getSentMessages()[1]);
|
||||||
assertFalse(completed.get());
|
assertFalse(completed.get());
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"First\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"First\"}" + RECORD_SEPARATOR);
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"Second\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"Second\"}" + RECORD_SEPARATOR);
|
||||||
mockTransport.receiveMessage("{\"type\":3,\"invocationId\":\"1\",\"result\":\"null\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":3,\"invocationId\":\"1\",\"result\":\"null\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
Iterator<String> resultIterator = result.timeout(1000, TimeUnit.MILLISECONDS).blockingIterable().iterator();
|
Iterator<String> resultIterator = result.timeout(1000, TimeUnit.MILLISECONDS).blockingIterable().iterator();
|
||||||
|
|
@ -545,10 +545,10 @@ class HubConnectionTest {
|
||||||
|
|
||||||
assertEquals("{\"type\":4,\"invocationId\":\"1\",\"target\":\"echo\",\"arguments\":[\"message\"]}" + RECORD_SEPARATOR, mockTransport.getSentMessages()[1]);
|
assertEquals("{\"type\":4,\"invocationId\":\"1\",\"target\":\"echo\",\"arguments\":[\"message\"]}" + RECORD_SEPARATOR, mockTransport.getSentMessages()[1]);
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"First\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"First\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
subscription.dispose();
|
subscription.dispose();
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"Second\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"Second\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
assertEquals("First", result.timeout(1000, TimeUnit.MILLISECONDS).blockingLast());
|
assertEquals("First", result.timeout(1000, TimeUnit.MILLISECONDS).blockingLast());
|
||||||
}
|
}
|
||||||
|
|
@ -573,10 +573,10 @@ class HubConnectionTest {
|
||||||
assertEquals("{\"type\":4,\"invocationId\":\"1\",\"target\":\"echo\",\"arguments\":[\"message\"]}" + RECORD_SEPARATOR, mockTransport.getSentMessages()[1]);
|
assertEquals("{\"type\":4,\"invocationId\":\"1\",\"target\":\"echo\",\"arguments\":[\"message\"]}" + RECORD_SEPARATOR, mockTransport.getSentMessages()[1]);
|
||||||
assertFalse(completed.get());
|
assertFalse(completed.get());
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"First\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"First\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
subscription.dispose();
|
subscription.dispose();
|
||||||
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"result\":\"Second\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":2,\"invocationId\":\"1\",\"item\":\"Second\"}" + RECORD_SEPARATOR);
|
||||||
|
|
||||||
mockTransport.receiveMessage("{\"type\":3,\"invocationId\":\"1\"}" + RECORD_SEPARATOR);
|
mockTransport.receiveMessage("{\"type\":3,\"invocationId\":\"1\"}" + RECORD_SEPARATOR);
|
||||||
assertTrue(completed.get());
|
assertTrue(completed.get());
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import java.util.Scanner;
|
||||||
import com.microsoft.signalr.HubConnection;
|
import com.microsoft.signalr.HubConnection;
|
||||||
import com.microsoft.signalr.HubConnectionBuilder;
|
import com.microsoft.signalr.HubConnectionBuilder;
|
||||||
|
|
||||||
|
|
||||||
public class Chat {
|
public class Chat {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("Enter the URL of the SignalR Chat you want to join");
|
System.out.println("Enter the URL of the SignalR Chat you want to join");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue