Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: mojo/dart/packages/mojo_services/lib/mojo/tcp_server_socket.mojom.dart

Issue 2006093002: Dart: Futures -> Callbacks. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Merge Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // WARNING: DO NOT EDIT. This file was generated by a program. 1 // WARNING: DO NOT EDIT. This file was generated by a program.
2 // See $MOJO_SDK/tools/bindings/mojom_bindings_generator.py. 2 // See $MOJO_SDK/tools/bindings/mojom_bindings_generator.py.
3 3
4 library tcp_server_socket_mojom; 4 library tcp_server_socket_mojom;
5 import 'dart:async'; 5 import 'dart:async';
6 import 'package:mojo/bindings.dart' as bindings; 6 import 'package:mojo/bindings.dart' as bindings;
7 import 'package:mojo/core.dart' as core; 7 import 'package:mojo/core.dart' as core;
8 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic e_describer; 8 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic e_describer;
9 import 'package:mojo/mojo/network_error.mojom.dart' as network_error_mojom; 9 import 'package:mojo/mojo/network_error.mojom.dart' as network_error_mojom;
10 import 'package:mojo_services/mojo/net_address.mojom.dart' as net_address_mojom; 10 import 'package:mojo_services/mojo/net_address.mojom.dart' as net_address_mojom;
11 import 'package:mojo_services/mojo/tcp_connected_socket.mojom.dart' as tcp_conne cted_socket_mojom; 11 import 'package:mojo_services/mojo/tcp_connected_socket.mojom.dart' as tcp_conne cted_socket_mojom;
12 12
13 13
14 14
15 class _TcpServerSocketAcceptParams extends bindings.Struct { 15 class _TcpServerSocketAcceptParams extends bindings.Struct {
16 static const List<bindings.StructDataHeader> kVersions = const [ 16 static const List<bindings.StructDataHeader> kVersions = const [
17 const bindings.StructDataHeader(24, 0) 17 const bindings.StructDataHeader(24, 0)
18 ]; 18 ];
19 core.MojoDataPipeConsumer sendStream = null; 19 core.MojoDataPipeConsumer sendStream = null;
20 core.MojoDataPipeProducer receiveStream = null; 20 core.MojoDataPipeProducer receiveStream = null;
21 tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clientSocket = n ull; 21 tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clientSocket = n ull;
22 22
23 _TcpServerSocketAcceptParams() : super(kVersions.last.size); 23 _TcpServerSocketAcceptParams() : super(kVersions.last.size);
24 24
25 _TcpServerSocketAcceptParams.init(
26 core.MojoDataPipeConsumer this.sendStream,
27 core.MojoDataPipeProducer this.receiveStream,
28 tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest this.clientSoc ket
29 ) : super(kVersions.last.size);
30
25 static _TcpServerSocketAcceptParams deserialize(bindings.Message message) { 31 static _TcpServerSocketAcceptParams deserialize(bindings.Message message) {
26 var decoder = new bindings.Decoder(message); 32 var decoder = new bindings.Decoder(message);
27 var result = decode(decoder); 33 var result = decode(decoder);
28 if (decoder.excessHandles != null) { 34 if (decoder.excessHandles != null) {
29 decoder.excessHandles.forEach((h) => h.close()); 35 decoder.excessHandles.forEach((h) => h.close());
30 } 36 }
31 return result; 37 return result;
32 } 38 }
33 39
34 static _TcpServerSocketAcceptParams decode(bindings.Decoder decoder0) { 40 static _TcpServerSocketAcceptParams decode(bindings.Decoder decoder0) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 117
112 class TcpServerSocketAcceptResponseParams extends bindings.Struct { 118 class TcpServerSocketAcceptResponseParams extends bindings.Struct {
113 static const List<bindings.StructDataHeader> kVersions = const [ 119 static const List<bindings.StructDataHeader> kVersions = const [
114 const bindings.StructDataHeader(24, 0) 120 const bindings.StructDataHeader(24, 0)
115 ]; 121 ];
116 network_error_mojom.NetworkError result = null; 122 network_error_mojom.NetworkError result = null;
117 net_address_mojom.NetAddress remoteAddress = null; 123 net_address_mojom.NetAddress remoteAddress = null;
118 124
119 TcpServerSocketAcceptResponseParams() : super(kVersions.last.size); 125 TcpServerSocketAcceptResponseParams() : super(kVersions.last.size);
120 126
127 TcpServerSocketAcceptResponseParams.init(
128 network_error_mojom.NetworkError this.result,
129 net_address_mojom.NetAddress this.remoteAddress
130 ) : super(kVersions.last.size);
131
121 static TcpServerSocketAcceptResponseParams deserialize(bindings.Message messag e) { 132 static TcpServerSocketAcceptResponseParams deserialize(bindings.Message messag e) {
122 var decoder = new bindings.Decoder(message); 133 var decoder = new bindings.Decoder(message);
123 var result = decode(decoder); 134 var result = decode(decoder);
124 if (decoder.excessHandles != null) { 135 if (decoder.excessHandles != null) {
125 decoder.excessHandles.forEach((h) => h.close()); 136 decoder.excessHandles.forEach((h) => h.close());
126 } 137 }
127 return result; 138 return result;
128 } 139 }
129 140
130 static TcpServerSocketAcceptResponseParams decode(bindings.Decoder decoder0) { 141 static TcpServerSocketAcceptResponseParams decode(bindings.Decoder decoder0) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 Map map = new Map(); 203 Map map = new Map();
193 map["result"] = result; 204 map["result"] = result;
194 map["remoteAddress"] = remoteAddress; 205 map["remoteAddress"] = remoteAddress;
195 return map; 206 return map;
196 } 207 }
197 } 208 }
198 209
199 const int _tcpServerSocketMethodAcceptName = 0; 210 const int _tcpServerSocketMethodAcceptName = 0;
200 211
201 class _TcpServerSocketServiceDescription implements service_describer.ServiceDes cription { 212 class _TcpServerSocketServiceDescription implements service_describer.ServiceDes cription {
202 dynamic getTopLevelInterface([Function responseFactory]) => 213 void getTopLevelInterface(Function responder) {
203 responseFactory(null); 214 responder(null);
215 }
204 216
205 dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => 217 void getTypeDefinition(String typeKey, Function responder) {
206 responseFactory(null); 218 responder(null);
219 }
207 220
208 dynamic getAllTypeDefinitions([Function responseFactory]) => 221 void getAllTypeDefinitions(Function responder) {
209 responseFactory(null); 222 responder(null);
223 }
210 } 224 }
211 225
212 abstract class TcpServerSocket { 226 abstract class TcpServerSocket {
213 static const String serviceName = null; 227 static const String serviceName = null;
214 228
215 static service_describer.ServiceDescription _cachedServiceDescription; 229 static service_describer.ServiceDescription _cachedServiceDescription;
216 static service_describer.ServiceDescription get serviceDescription { 230 static service_describer.ServiceDescription get serviceDescription {
217 if (_cachedServiceDescription == null) { 231 if (_cachedServiceDescription == null) {
218 _cachedServiceDescription = new _TcpServerSocketServiceDescription(); 232 _cachedServiceDescription = new _TcpServerSocketServiceDescription();
219 } 233 }
220 return _cachedServiceDescription; 234 return _cachedServiceDescription;
221 } 235 }
222 236
223 static TcpServerSocketProxy connectToService( 237 static TcpServerSocketProxy connectToService(
224 bindings.ServiceConnector s, String url, [String serviceName]) { 238 bindings.ServiceConnector s, String url, [String serviceName]) {
225 TcpServerSocketProxy p = new TcpServerSocketProxy.unbound(); 239 TcpServerSocketProxy p = new TcpServerSocketProxy.unbound();
226 String name = serviceName ?? TcpServerSocket.serviceName; 240 String name = serviceName ?? TcpServerSocket.serviceName;
227 if ((name == null) || name.isEmpty) { 241 if ((name == null) || name.isEmpty) {
228 throw new core.MojoApiError( 242 throw new core.MojoApiError(
229 "If an interface has no ServiceName, then one must be provided."); 243 "If an interface has no ServiceName, then one must be provided.");
230 } 244 }
231 s.connectToService(url, p, name); 245 s.connectToService(url, p, name);
232 return p; 246 return p;
233 } 247 }
234 dynamic accept(core.MojoDataPipeConsumer sendStream,core.MojoDataPipeProducer receiveStream,tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clie ntSocket,[Function responseFactory = null]); 248 void accept(core.MojoDataPipeConsumer sendStream,core.MojoDataPipeProducer rec eiveStream,tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clientS ocket,void callback(network_error_mojom.NetworkError result, net_address_mojom.N etAddress remoteAddress));
235 } 249 }
236 250
237 abstract class TcpServerSocketInterface 251 abstract class TcpServerSocketInterface
238 implements bindings.MojoInterface<TcpServerSocket>, 252 implements bindings.MojoInterface<TcpServerSocket>,
239 TcpServerSocket { 253 TcpServerSocket {
240 factory TcpServerSocketInterface([TcpServerSocket impl]) => 254 factory TcpServerSocketInterface([TcpServerSocket impl]) =>
241 new TcpServerSocketStub.unbound(impl); 255 new TcpServerSocketStub.unbound(impl);
242 256
243 factory TcpServerSocketInterface.fromEndpoint( 257 factory TcpServerSocketInterface.fromEndpoint(
244 core.MojoMessagePipeEndpoint endpoint, 258 core.MojoMessagePipeEndpoint endpoint,
(...skipping 29 matching lines...) Expand all
274 288
275 void handleResponse(bindings.ServiceMessage message) { 289 void handleResponse(bindings.ServiceMessage message) {
276 switch (message.header.type) { 290 switch (message.header.type) {
277 case _tcpServerSocketMethodAcceptName: 291 case _tcpServerSocketMethodAcceptName:
278 var r = TcpServerSocketAcceptResponseParams.deserialize( 292 var r = TcpServerSocketAcceptResponseParams.deserialize(
279 message.payload); 293 message.payload);
280 if (!message.header.hasRequestId) { 294 if (!message.header.hasRequestId) {
281 proxyError("Expected a message with a valid request Id."); 295 proxyError("Expected a message with a valid request Id.");
282 return; 296 return;
283 } 297 }
284 Completer c = completerMap[message.header.requestId]; 298 Function callback = callbackMap[message.header.requestId];
285 if (c == null) { 299 if (callback == null) {
286 proxyError( 300 proxyError(
287 "Message had unknown request Id: ${message.header.requestId}"); 301 "Message had unknown request Id: ${message.header.requestId}");
288 return; 302 return;
289 } 303 }
290 completerMap.remove(message.header.requestId); 304 callbackMap.remove(message.header.requestId);
291 if (c.isCompleted) { 305 callback(r.result , r.remoteAddress );
292 proxyError("Response completer already completed");
293 return;
294 }
295 c.complete(r);
296 break; 306 break;
297 default: 307 default:
298 proxyError("Unexpected message type: ${message.header.type}"); 308 proxyError("Unexpected message type: ${message.header.type}");
299 close(immediate: true); 309 close(immediate: true);
300 break; 310 break;
301 } 311 }
302 } 312 }
303 313
304 @override 314 @override
305 String toString() { 315 String toString() {
(...skipping 24 matching lines...) Expand all
330 return newMockedProxy; 340 return newMockedProxy;
331 } 341 }
332 342
333 static TcpServerSocketProxy newFromEndpoint( 343 static TcpServerSocketProxy newFromEndpoint(
334 core.MojoMessagePipeEndpoint endpoint) { 344 core.MojoMessagePipeEndpoint endpoint) {
335 assert(endpoint.setDescription("For TcpServerSocketProxy")); 345 assert(endpoint.setDescription("For TcpServerSocketProxy"));
336 return new TcpServerSocketProxy.fromEndpoint(endpoint); 346 return new TcpServerSocketProxy.fromEndpoint(endpoint);
337 } 347 }
338 348
339 349
340 dynamic accept(core.MojoDataPipeConsumer sendStream,core.MojoDataPipeProducer receiveStream,tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clie ntSocket,[Function responseFactory = null]) { 350 void accept(core.MojoDataPipeConsumer sendStream,core.MojoDataPipeProducer rec eiveStream,tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clientS ocket,void callback(network_error_mojom.NetworkError result, net_address_mojom.N etAddress remoteAddress)) {
341 if (impl != null) { 351 if (impl != null) {
342 return new Future(() => impl.accept(sendStream,receiveStream,clientSocket, _TcpServerSocketStubControl._tcpServerSocketAcceptResponseParamsFactory)); 352 impl.accept(sendStream,receiveStream,clientSocket,callback);
353 return;
343 } 354 }
344 var params = new _TcpServerSocketAcceptParams(); 355 var params = new _TcpServerSocketAcceptParams();
345 params.sendStream = sendStream; 356 params.sendStream = sendStream;
346 params.receiveStream = receiveStream; 357 params.receiveStream = receiveStream;
347 params.clientSocket = clientSocket; 358 params.clientSocket = clientSocket;
348 return ctrl.sendMessageWithRequestId( 359 ctrl.sendMessageWithRequestId(
349 params, 360 params,
350 _tcpServerSocketMethodAcceptName, 361 _tcpServerSocketMethodAcceptName,
351 -1, 362 -1,
352 bindings.MessageHeader.kMessageExpectsResponse); 363 bindings.MessageHeader.kMessageExpectsResponse,
364 callback);
353 } 365 }
354 } 366 }
355 367
356 class _TcpServerSocketStubControl 368 class _TcpServerSocketStubControl
357 extends bindings.StubMessageHandler 369 extends bindings.StubMessageHandler
358 implements bindings.StubControl<TcpServerSocket> { 370 implements bindings.StubControl<TcpServerSocket> {
359 TcpServerSocket _impl; 371 TcpServerSocket _impl;
360 372
361 _TcpServerSocketStubControl.fromEndpoint( 373 _TcpServerSocketStubControl.fromEndpoint(
362 core.MojoMessagePipeEndpoint endpoint, [TcpServerSocket impl]) 374 core.MojoMessagePipeEndpoint endpoint, [TcpServerSocket impl])
363 : super.fromEndpoint(endpoint, autoBegin: impl != null) { 375 : super.fromEndpoint(endpoint, autoBegin: impl != null) {
364 _impl = impl; 376 _impl = impl;
365 } 377 }
366 378
367 _TcpServerSocketStubControl.fromHandle( 379 _TcpServerSocketStubControl.fromHandle(
368 core.MojoHandle handle, [TcpServerSocket impl]) 380 core.MojoHandle handle, [TcpServerSocket impl])
369 : super.fromHandle(handle, autoBegin: impl != null) { 381 : super.fromHandle(handle, autoBegin: impl != null) {
370 _impl = impl; 382 _impl = impl;
371 } 383 }
372 384
373 _TcpServerSocketStubControl.unbound([this._impl]) : super.unbound(); 385 _TcpServerSocketStubControl.unbound([this._impl]) : super.unbound();
374 386
375 String get serviceName => TcpServerSocket.serviceName; 387 String get serviceName => TcpServerSocket.serviceName;
376 388
377 389
378 static TcpServerSocketAcceptResponseParams _tcpServerSocketAcceptResponseParam sFactory(network_error_mojom.NetworkError result, net_address_mojom.NetAddress r emoteAddress) { 390 Function _tcpServerSocketAcceptResponseParamsResponder(
379 var result = new TcpServerSocketAcceptResponseParams(); 391 int requestId) {
380 result.result = result; 392 return (network_error_mojom.NetworkError result, net_address_mojom.NetAddress remoteAddress) {
381 result.remoteAddress = remoteAddress; 393 var result = new TcpServerSocketAcceptResponseParams();
382 return result; 394 result.result = result;
395 result.remoteAddress = remoteAddress;
396 sendResponse(buildResponseWithId(
397 result,
398 _tcpServerSocketMethodAcceptName,
399 requestId,
400 bindings.MessageHeader.kMessageIsResponse));
401 };
383 } 402 }
384 403
385 dynamic handleMessage(bindings.ServiceMessage message) { 404 void handleMessage(bindings.ServiceMessage message) {
386 if (bindings.ControlMessageHandler.isControlMessage(message)) { 405 if (bindings.ControlMessageHandler.isControlMessage(message)) {
387 return bindings.ControlMessageHandler.handleMessage(this, 406 bindings.ControlMessageHandler.handleMessage(
388 0, 407 this, 0, message);
389 message); 408 return;
390 } 409 }
391 if (_impl == null) { 410 if (_impl == null) {
392 throw new core.MojoApiError("$this has no implementation set"); 411 throw new core.MojoApiError("$this has no implementation set");
393 } 412 }
394 switch (message.header.type) { 413 switch (message.header.type) {
395 case _tcpServerSocketMethodAcceptName: 414 case _tcpServerSocketMethodAcceptName:
396 var params = _TcpServerSocketAcceptParams.deserialize( 415 var params = _TcpServerSocketAcceptParams.deserialize(
397 message.payload); 416 message.payload);
398 var response = _impl.accept(params.sendStream,params.receiveStream,param s.clientSocket,_tcpServerSocketAcceptResponseParamsFactory); 417 _impl.accept(params.sendStream, params.receiveStream, params.clientSocke t, _tcpServerSocketAcceptResponseParamsResponder(message.header.requestId));
399 if (response is Future) {
400 return response.then((response) {
401 if (response != null) {
402 return buildResponseWithId(
403 response,
404 _tcpServerSocketMethodAcceptName,
405 message.header.requestId,
406 bindings.MessageHeader.kMessageIsResponse);
407 }
408 });
409 } else if (response != null) {
410 return buildResponseWithId(
411 response,
412 _tcpServerSocketMethodAcceptName,
413 message.header.requestId,
414 bindings.MessageHeader.kMessageIsResponse);
415 }
416 break; 418 break;
417 default: 419 default:
418 throw new bindings.MojoCodecError("Unexpected message name"); 420 throw new bindings.MojoCodecError("Unexpected message name");
419 break; 421 break;
420 } 422 }
421 return null;
422 } 423 }
423 424
424 TcpServerSocket get impl => _impl; 425 TcpServerSocket get impl => _impl;
425 set impl(TcpServerSocket d) { 426 set impl(TcpServerSocket d) {
426 if (d == null) { 427 if (d == null) {
427 throw new core.MojoApiError("$this: Cannot set a null implementation"); 428 throw new core.MojoApiError("$this: Cannot set a null implementation");
428 } 429 }
429 if (isBound && (_impl == null)) { 430 if (isBound && (_impl == null)) {
430 beginHandlingEvents(); 431 beginHandlingEvents();
431 } 432 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 core.MojoHandle handle, [TcpServerSocket impl]) 466 core.MojoHandle handle, [TcpServerSocket impl])
466 : super(new _TcpServerSocketStubControl.fromHandle(handle, impl)); 467 : super(new _TcpServerSocketStubControl.fromHandle(handle, impl));
467 468
468 static TcpServerSocketStub newFromEndpoint( 469 static TcpServerSocketStub newFromEndpoint(
469 core.MojoMessagePipeEndpoint endpoint) { 470 core.MojoMessagePipeEndpoint endpoint) {
470 assert(endpoint.setDescription("For TcpServerSocketStub")); 471 assert(endpoint.setDescription("For TcpServerSocketStub"));
471 return new TcpServerSocketStub.fromEndpoint(endpoint); 472 return new TcpServerSocketStub.fromEndpoint(endpoint);
472 } 473 }
473 474
474 475
475 dynamic accept(core.MojoDataPipeConsumer sendStream,core.MojoDataPipeProducer receiveStream,tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clie ntSocket,[Function responseFactory = null]) { 476 void accept(core.MojoDataPipeConsumer sendStream,core.MojoDataPipeProducer rec eiveStream,tcp_connected_socket_mojom.TcpConnectedSocketInterfaceRequest clientS ocket,void callback(network_error_mojom.NetworkError result, net_address_mojom.N etAddress remoteAddress)) {
476 return impl.accept(sendStream,receiveStream,clientSocket,responseFactory); 477 return impl.accept(sendStream,receiveStream,clientSocket,callback);
477 } 478 }
478 } 479 }
479 480
480 481
481 482
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698