mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-03-16 10:25:47 +00:00
37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
/**
|
||
|
* Streaming RPC helpers.
|
||
|
* @namespace
|
||
|
*/
|
||
|
var rpc = exports;
|
||
|
|
||
|
/**
|
||
|
* RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.
|
||
|
* @typedef RPCImpl
|
||
|
* @type {function}
|
||
|
* @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called
|
||
|
* @param {Uint8Array} requestData Request data
|
||
|
* @param {RPCImplCallback} callback Callback function
|
||
|
* @returns {undefined}
|
||
|
* @example
|
||
|
* function rpcImpl(method, requestData, callback) {
|
||
|
* if (protobuf.util.lcFirst(method.name) !== "myMethod") // compatible with static code
|
||
|
* throw Error("no such method");
|
||
|
* asynchronouslyObtainAResponse(requestData, function(err, responseData) {
|
||
|
* callback(err, responseData);
|
||
|
* });
|
||
|
* }
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Node-style callback as used by {@link RPCImpl}.
|
||
|
* @typedef RPCImplCallback
|
||
|
* @type {function}
|
||
|
* @param {Error|null} error Error, if any, otherwise `null`
|
||
|
* @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error
|
||
|
* @returns {undefined}
|
||
|
*/
|
||
|
|
||
|
rpc.Service = require("./rpc/service");
|