| Index: mojo/dart/packages/mojo_services/lib/mojo/web_socket.mojom.dart
|
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/web_socket.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/web_socket.mojom.dart
|
| index 2a272c9fe7d338e8d5efe29c5a1804747529e611..61ca5dac920178d386a267cd5f33f850c8877478 100644
|
| --- a/mojo/dart/packages/mojo_services/lib/mojo/web_socket.mojom.dart
|
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/web_socket.mojom.dart
|
| @@ -934,29 +934,27 @@ abstract class WebSocket {
|
| void connect(String url, List<String> protocols, String origin, core.MojoDataPipeConsumer sendStream, Object client);
|
| void send(bool fin, WebSocketMessageType type, int numBytes);
|
| void flowControl(int quota);
|
| - void close(int code, String reason);
|
| + void close_(int code, String reason);
|
| static const int kAbnormalCloseCode = 1006;
|
| }
|
|
|
|
|
| -class _WebSocketProxyImpl extends bindings.Proxy {
|
| - _WebSocketProxyImpl.fromEndpoint(
|
| +class _WebSocketProxyControl extends bindings.ProxyMessageHandler
|
| + implements bindings.ProxyControl {
|
| + _WebSocketProxyControl.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
|
|
|
| - _WebSocketProxyImpl.fromHandle(core.MojoHandle handle) :
|
| - super.fromHandle(handle);
|
| + _WebSocketProxyControl.fromHandle(
|
| + core.MojoHandle handle) : super.fromHandle(handle);
|
|
|
| - _WebSocketProxyImpl.unbound() : super.unbound();
|
| -
|
| - static _WebSocketProxyImpl newFromEndpoint(
|
| - core.MojoMessagePipeEndpoint endpoint) {
|
| - assert(endpoint.setDescription("For _WebSocketProxyImpl"));
|
| - return new _WebSocketProxyImpl.fromEndpoint(endpoint);
|
| - }
|
| + _WebSocketProxyControl.unbound() : super.unbound();
|
|
|
| service_describer.ServiceDescription get serviceDescription =>
|
| - new _WebSocketServiceDescription();
|
| + new _WebSocketServiceDescription();
|
|
|
| + String get serviceName => WebSocket.serviceName;
|
| +
|
| + @override
|
| void handleResponse(bindings.ServiceMessage message) {
|
| switch (message.header.type) {
|
| default:
|
| @@ -966,85 +964,30 @@ class _WebSocketProxyImpl extends bindings.Proxy {
|
| }
|
| }
|
|
|
| + @override
|
| String toString() {
|
| var superString = super.toString();
|
| - return "_WebSocketProxyImpl($superString)";
|
| + return "_WebSocketProxyControl($superString)";
|
| }
|
| }
|
|
|
|
|
| -class _WebSocketProxyCalls implements WebSocket {
|
| - _WebSocketProxyImpl _proxyImpl;
|
| -
|
| - _WebSocketProxyCalls(this._proxyImpl);
|
| - void connect(String url, List<String> protocols, String origin, core.MojoDataPipeConsumer sendStream, Object client) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketConnectParams();
|
| - params.url = url;
|
| - params.protocols = protocols;
|
| - params.origin = origin;
|
| - params.sendStream = sendStream;
|
| - params.client = client;
|
| - _proxyImpl.sendMessage(params, _webSocketMethodConnectName);
|
| - }
|
| - void send(bool fin, WebSocketMessageType type, int numBytes) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketSendParams();
|
| - params.fin = fin;
|
| - params.type = type;
|
| - params.numBytes = numBytes;
|
| - _proxyImpl.sendMessage(params, _webSocketMethodSendName);
|
| - }
|
| - void flowControl(int quota) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketFlowControlParams();
|
| - params.quota = quota;
|
| - _proxyImpl.sendMessage(params, _webSocketMethodFlowControlName);
|
| - }
|
| - void close(int code, String reason) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketCloseParams();
|
| - params.code = code;
|
| - params.reason = reason;
|
| - _proxyImpl.sendMessage(params, _webSocketMethodCloseName);
|
| - }
|
| -}
|
| -
|
| -
|
| -class WebSocketProxy implements bindings.ProxyBase {
|
| - final bindings.Proxy impl;
|
| - WebSocket ptr;
|
| -
|
| - WebSocketProxy(_WebSocketProxyImpl proxyImpl) :
|
| - impl = proxyImpl,
|
| - ptr = new _WebSocketProxyCalls(proxyImpl);
|
| -
|
| +class WebSocketProxy extends bindings.Proxy
|
| + implements WebSocket {
|
| WebSocketProxy.fromEndpoint(
|
| - core.MojoMessagePipeEndpoint endpoint) :
|
| - impl = new _WebSocketProxyImpl.fromEndpoint(endpoint) {
|
| - ptr = new _WebSocketProxyCalls(impl);
|
| - }
|
| + core.MojoMessagePipeEndpoint endpoint)
|
| + : super(new _WebSocketProxyControl.fromEndpoint(endpoint));
|
|
|
| - WebSocketProxy.fromHandle(core.MojoHandle handle) :
|
| - impl = new _WebSocketProxyImpl.fromHandle(handle) {
|
| - ptr = new _WebSocketProxyCalls(impl);
|
| - }
|
| + WebSocketProxy.fromHandle(core.MojoHandle handle)
|
| + : super(new _WebSocketProxyControl.fromHandle(handle));
|
| +
|
| + WebSocketProxy.unbound()
|
| + : super(new _WebSocketProxyControl.unbound());
|
|
|
| - WebSocketProxy.unbound() :
|
| - impl = new _WebSocketProxyImpl.unbound() {
|
| - ptr = new _WebSocketProxyCalls(impl);
|
| + static WebSocketProxy newFromEndpoint(
|
| + core.MojoMessagePipeEndpoint endpoint) {
|
| + assert(endpoint.setDescription("For WebSocketProxy"));
|
| + return new WebSocketProxy.fromEndpoint(endpoint);
|
| }
|
|
|
| factory WebSocketProxy.connectToService(
|
| @@ -1054,30 +997,53 @@ class WebSocketProxy implements bindings.ProxyBase {
|
| return p;
|
| }
|
|
|
| - static WebSocketProxy newFromEndpoint(
|
| - core.MojoMessagePipeEndpoint endpoint) {
|
| - assert(endpoint.setDescription("For WebSocketProxy"));
|
| - return new WebSocketProxy.fromEndpoint(endpoint);
|
| - }
|
| -
|
| - String get serviceName => WebSocket.serviceName;
|
| -
|
| - Future close({bool immediate: false}) => impl.close(immediate: immediate);
|
| -
|
| - Future responseOrError(Future f) => impl.responseOrError(f);
|
| -
|
| - Future get errorFuture => impl.errorFuture;
|
| -
|
| - int get version => impl.version;
|
|
|
| - Future<int> queryVersion() => impl.queryVersion();
|
| -
|
| - void requireVersion(int requiredVersion) {
|
| - impl.requireVersion(requiredVersion);
|
| - }
|
| -
|
| - String toString() {
|
| - return "WebSocketProxy($impl)";
|
| + void connect(String url, List<String> protocols, String origin, core.MojoDataPipeConsumer sendStream, Object client) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketConnectParams();
|
| + params.url = url;
|
| + params.protocols = protocols;
|
| + params.origin = origin;
|
| + params.sendStream = sendStream;
|
| + params.client = client;
|
| + ctrl.sendMessage(params,
|
| + _webSocketMethodConnectName);
|
| + }
|
| + void send(bool fin, WebSocketMessageType type, int numBytes) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketSendParams();
|
| + params.fin = fin;
|
| + params.type = type;
|
| + params.numBytes = numBytes;
|
| + ctrl.sendMessage(params,
|
| + _webSocketMethodSendName);
|
| + }
|
| + void flowControl(int quota) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketFlowControlParams();
|
| + params.quota = quota;
|
| + ctrl.sendMessage(params,
|
| + _webSocketMethodFlowControlName);
|
| + }
|
| + void close_(int code, String reason) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketCloseParams();
|
| + params.code = code;
|
| + params.reason = reason;
|
| + ctrl.sendMessage(params,
|
| + _webSocketMethodCloseName);
|
| }
|
| }
|
|
|
| @@ -1135,7 +1101,7 @@ class WebSocketStub extends bindings.Stub {
|
| case _webSocketMethodCloseName:
|
| var params = _WebSocketCloseParams.deserialize(
|
| message.payload);
|
| - _impl.close(params.code, params.reason);
|
| + _impl.close_(params.code, params.reason);
|
| break;
|
| default:
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| @@ -1206,24 +1172,22 @@ abstract class WebSocketClient {
|
| }
|
|
|
|
|
| -class _WebSocketClientProxyImpl extends bindings.Proxy {
|
| - _WebSocketClientProxyImpl.fromEndpoint(
|
| +class _WebSocketClientProxyControl extends bindings.ProxyMessageHandler
|
| + implements bindings.ProxyControl {
|
| + _WebSocketClientProxyControl.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
|
|
|
| - _WebSocketClientProxyImpl.fromHandle(core.MojoHandle handle) :
|
| - super.fromHandle(handle);
|
| + _WebSocketClientProxyControl.fromHandle(
|
| + core.MojoHandle handle) : super.fromHandle(handle);
|
|
|
| - _WebSocketClientProxyImpl.unbound() : super.unbound();
|
| -
|
| - static _WebSocketClientProxyImpl newFromEndpoint(
|
| - core.MojoMessagePipeEndpoint endpoint) {
|
| - assert(endpoint.setDescription("For _WebSocketClientProxyImpl"));
|
| - return new _WebSocketClientProxyImpl.fromEndpoint(endpoint);
|
| - }
|
| + _WebSocketClientProxyControl.unbound() : super.unbound();
|
|
|
| service_describer.ServiceDescription get serviceDescription =>
|
| - new _WebSocketClientServiceDescription();
|
| + new _WebSocketClientServiceDescription();
|
|
|
| + String get serviceName => WebSocketClient.serviceName;
|
| +
|
| + @override
|
| void handleResponse(bindings.ServiceMessage message) {
|
| switch (message.header.type) {
|
| default:
|
| @@ -1233,93 +1197,30 @@ class _WebSocketClientProxyImpl extends bindings.Proxy {
|
| }
|
| }
|
|
|
| + @override
|
| String toString() {
|
| var superString = super.toString();
|
| - return "_WebSocketClientProxyImpl($superString)";
|
| + return "_WebSocketClientProxyControl($superString)";
|
| }
|
| }
|
|
|
|
|
| -class _WebSocketClientProxyCalls implements WebSocketClient {
|
| - _WebSocketClientProxyImpl _proxyImpl;
|
| -
|
| - _WebSocketClientProxyCalls(this._proxyImpl);
|
| - void didConnect(String selectedSubprotocol, String extensions, core.MojoDataPipeConsumer receiveStream) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketClientDidConnectParams();
|
| - params.selectedSubprotocol = selectedSubprotocol;
|
| - params.extensions = extensions;
|
| - params.receiveStream = receiveStream;
|
| - _proxyImpl.sendMessage(params, _webSocketClientMethodDidConnectName);
|
| - }
|
| - void didReceiveData(bool fin, WebSocketMessageType type, int numBytes) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketClientDidReceiveDataParams();
|
| - params.fin = fin;
|
| - params.type = type;
|
| - params.numBytes = numBytes;
|
| - _proxyImpl.sendMessage(params, _webSocketClientMethodDidReceiveDataName);
|
| - }
|
| - void didReceiveFlowControl(int quota) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketClientDidReceiveFlowControlParams();
|
| - params.quota = quota;
|
| - _proxyImpl.sendMessage(params, _webSocketClientMethodDidReceiveFlowControlName);
|
| - }
|
| - void didFail(String message) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketClientDidFailParams();
|
| - params.message = message;
|
| - _proxyImpl.sendMessage(params, _webSocketClientMethodDidFailName);
|
| - }
|
| - void didClose(bool wasClean, int code, String reason) {
|
| - if (!_proxyImpl.isBound) {
|
| - _proxyImpl.proxyError("The Proxy is closed.");
|
| - return;
|
| - }
|
| - var params = new _WebSocketClientDidCloseParams();
|
| - params.wasClean = wasClean;
|
| - params.code = code;
|
| - params.reason = reason;
|
| - _proxyImpl.sendMessage(params, _webSocketClientMethodDidCloseName);
|
| - }
|
| -}
|
| -
|
| -
|
| -class WebSocketClientProxy implements bindings.ProxyBase {
|
| - final bindings.Proxy impl;
|
| - WebSocketClient ptr;
|
| -
|
| - WebSocketClientProxy(_WebSocketClientProxyImpl proxyImpl) :
|
| - impl = proxyImpl,
|
| - ptr = new _WebSocketClientProxyCalls(proxyImpl);
|
| -
|
| +class WebSocketClientProxy extends bindings.Proxy
|
| + implements WebSocketClient {
|
| WebSocketClientProxy.fromEndpoint(
|
| - core.MojoMessagePipeEndpoint endpoint) :
|
| - impl = new _WebSocketClientProxyImpl.fromEndpoint(endpoint) {
|
| - ptr = new _WebSocketClientProxyCalls(impl);
|
| - }
|
| + core.MojoMessagePipeEndpoint endpoint)
|
| + : super(new _WebSocketClientProxyControl.fromEndpoint(endpoint));
|
|
|
| - WebSocketClientProxy.fromHandle(core.MojoHandle handle) :
|
| - impl = new _WebSocketClientProxyImpl.fromHandle(handle) {
|
| - ptr = new _WebSocketClientProxyCalls(impl);
|
| - }
|
| + WebSocketClientProxy.fromHandle(core.MojoHandle handle)
|
| + : super(new _WebSocketClientProxyControl.fromHandle(handle));
|
|
|
| - WebSocketClientProxy.unbound() :
|
| - impl = new _WebSocketClientProxyImpl.unbound() {
|
| - ptr = new _WebSocketClientProxyCalls(impl);
|
| + WebSocketClientProxy.unbound()
|
| + : super(new _WebSocketClientProxyControl.unbound());
|
| +
|
| + static WebSocketClientProxy newFromEndpoint(
|
| + core.MojoMessagePipeEndpoint endpoint) {
|
| + assert(endpoint.setDescription("For WebSocketClientProxy"));
|
| + return new WebSocketClientProxy.fromEndpoint(endpoint);
|
| }
|
|
|
| factory WebSocketClientProxy.connectToService(
|
| @@ -1329,30 +1230,62 @@ class WebSocketClientProxy implements bindings.ProxyBase {
|
| return p;
|
| }
|
|
|
| - static WebSocketClientProxy newFromEndpoint(
|
| - core.MojoMessagePipeEndpoint endpoint) {
|
| - assert(endpoint.setDescription("For WebSocketClientProxy"));
|
| - return new WebSocketClientProxy.fromEndpoint(endpoint);
|
| - }
|
| -
|
| - String get serviceName => WebSocketClient.serviceName;
|
| -
|
| - Future close({bool immediate: false}) => impl.close(immediate: immediate);
|
| -
|
| - Future responseOrError(Future f) => impl.responseOrError(f);
|
| -
|
| - Future get errorFuture => impl.errorFuture;
|
|
|
| - int get version => impl.version;
|
| -
|
| - Future<int> queryVersion() => impl.queryVersion();
|
| -
|
| - void requireVersion(int requiredVersion) {
|
| - impl.requireVersion(requiredVersion);
|
| - }
|
| -
|
| - String toString() {
|
| - return "WebSocketClientProxy($impl)";
|
| + void didConnect(String selectedSubprotocol, String extensions, core.MojoDataPipeConsumer receiveStream) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketClientDidConnectParams();
|
| + params.selectedSubprotocol = selectedSubprotocol;
|
| + params.extensions = extensions;
|
| + params.receiveStream = receiveStream;
|
| + ctrl.sendMessage(params,
|
| + _webSocketClientMethodDidConnectName);
|
| + }
|
| + void didReceiveData(bool fin, WebSocketMessageType type, int numBytes) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketClientDidReceiveDataParams();
|
| + params.fin = fin;
|
| + params.type = type;
|
| + params.numBytes = numBytes;
|
| + ctrl.sendMessage(params,
|
| + _webSocketClientMethodDidReceiveDataName);
|
| + }
|
| + void didReceiveFlowControl(int quota) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketClientDidReceiveFlowControlParams();
|
| + params.quota = quota;
|
| + ctrl.sendMessage(params,
|
| + _webSocketClientMethodDidReceiveFlowControlName);
|
| + }
|
| + void didFail(String message) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketClientDidFailParams();
|
| + params.message = message;
|
| + ctrl.sendMessage(params,
|
| + _webSocketClientMethodDidFailName);
|
| + }
|
| + void didClose(bool wasClean, int code, String reason) {
|
| + if (!ctrl.isBound) {
|
| + ctrl.proxyError("The Proxy is closed.");
|
| + return;
|
| + }
|
| + var params = new _WebSocketClientDidCloseParams();
|
| + params.wasClean = wasClean;
|
| + params.code = code;
|
| + params.reason = reason;
|
| + ctrl.sendMessage(params,
|
| + _webSocketClientMethodDidCloseName);
|
| }
|
| }
|
|
|
|
|