grpc.Server.html 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width">
  6. <title>Documentation Class: Server</title>
  7. <!--[if lt IE 9]>
  8. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  9. <![endif]-->
  10. <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
  11. <link type="text/css" rel="stylesheet" href="styles/site.simplex.css">
  12. </head>
  13. <body>
  14. <div class="navbar navbar-default navbar-fixed-top ">
  15. <div class="container">
  16. <div class="navbar-header">
  17. <a class="navbar-brand" href="index.html">Documentation</a>
  18. <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation">
  19. <span class="icon-bar"></span>
  20. <span class="icon-bar"></span>
  21. <span class="icon-bar"></span>
  22. </button>
  23. </div>
  24. <div class="navbar-collapse collapse" id="topNavigation">
  25. <ul class="nav navbar-nav">
  26. <li class="dropdown">
  27. <a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b class="caret"></b></a>
  28. <ul class="dropdown-menu ">
  29. <li><a href="grpc.html">grpc</a></li><li><a href="grpc.credentials.html">grpc.credentials</a></li>
  30. </ul>
  31. </li>
  32. <li class="dropdown">
  33. <a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b class="caret"></b></a>
  34. <ul class="dropdown-menu ">
  35. <li><a href="module-src_client_interceptors.html">src/client_interceptors</a></li>
  36. </ul>
  37. </li>
  38. <li class="dropdown">
  39. <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a>
  40. <ul class="dropdown-menu ">
  41. <li><a href="grpc.Channel.html">grpc.Channel</a></li><li><a href="grpc.Client.html">grpc.Client</a></li><li><a href="grpc.credentials-CallCredentials.html">grpc.credentials~CallCredentials</a></li><li><a href="grpc.credentials-ChannelCredentials.html">grpc.credentials~ChannelCredentials</a></li><li><a href="grpc.Metadata.html">grpc.Metadata</a></li><li><a href="grpc.Server.html">grpc.Server</a></li><li><a href="grpc.ServerCredentials.html">grpc.ServerCredentials</a></li><li><a href="grpc-Call.html">grpc~Call</a></li><li><a href="grpc-ClientDuplexStream.html">grpc~ClientDuplexStream</a></li><li><a href="grpc-ClientReadableStream.html">grpc~ClientReadableStream</a></li><li><a href="grpc-ClientUnaryCall.html">grpc~ClientUnaryCall</a></li><li><a href="grpc-ClientWritableStream.html">grpc~ClientWritableStream</a></li><li><a href="grpc-ServerDuplexStream.html">grpc~ServerDuplexStream</a></li><li><a href="grpc-ServerReadableStream.html">grpc~ServerReadableStream</a></li><li><a href="grpc-ServerUnaryCall.html">grpc~ServerUnaryCall</a></li><li><a href="grpc-ServerWritableStream.html">grpc~ServerWritableStream</a></li><li><a href="module-src_client_interceptors-EndListener.html">src/client_interceptors~EndListener</a></li><li><a href="module-src_client_interceptors-InterceptingCall.html">src/client_interceptors~InterceptingCall</a></li><li><a href="module-src_client_interceptors-InterceptingListener.html">src/client_interceptors~InterceptingListener</a></li><li><a href="module-src_client_interceptors-InterceptorConfigurationError.html">src/client_interceptors~InterceptorConfigurationError</a></li><li><a href="module-src_client_interceptors-ListenerBuilder.html">src/client_interceptors~ListenerBuilder</a></li><li><a href="module-src_client_interceptors-RequesterBuilder.html">src/client_interceptors~RequesterBuilder</a></li><li><a href="module-src_client_interceptors-StatusBuilder.html">src/client_interceptors~StatusBuilder</a></li>
  42. </ul>
  43. </li>
  44. <li class="dropdown">
  45. <a href="events.list.html" class="dropdown-toggle" data-toggle="dropdown">Events<b class="caret"></b></a>
  46. <ul class="dropdown-menu ">
  47. <li><a href="grpc-ClientDuplexStream.html#event:metadata">grpc~ClientDuplexStream#metadata</a></li><li><a href="grpc-ClientDuplexStream.html#event:status">grpc~ClientDuplexStream#status</a></li><li><a href="grpc-ClientReadableStream.html#event:metadata">grpc~ClientReadableStream#metadata</a></li><li><a href="grpc-ClientReadableStream.html#event:status">grpc~ClientReadableStream#status</a></li><li><a href="grpc-ClientUnaryCall.html#event:metadata">grpc~ClientUnaryCall#event:metadata</a></li><li><a href="grpc-ClientUnaryCall.html#event:status">grpc~ClientUnaryCall#event:status</a></li><li><a href="grpc-ClientWritableStream.html#event:metadata">grpc~ClientWritableStream#metadata</a></li><li><a href="grpc-ClientWritableStream.html#event:status">grpc~ClientWritableStream#status</a></li><li><a href="grpc-ServerDuplexStream.html#~event:cancelled">grpc~ServerDuplexStream~event:cancelled</a></li><li><a href="grpc-ServerReadableStream.html#~event:cancelled">grpc~ServerReadableStream~event:cancelled</a></li><li><a href="grpc-ServerUnaryCall.html#~event:cancelled">grpc~ServerUnaryCall~event:cancelled</a></li><li><a href="grpc-ServerWritableStream.html#~event:cancelled">grpc~ServerWritableStream~event:cancelled</a></li>
  48. </ul>
  49. </li>
  50. <li class="dropdown">
  51. <a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a>
  52. <ul class="dropdown-menu ">
  53. <li><a href="global.html#CancelRequester">CancelRequester</a></li><li><a href="global.html#CloseRequester">CloseRequester</a></li><li><a href="global.html#createStatusError">createStatusError</a></li><li><a href="global.html#getClientInterceptors">getClientInterceptors</a></li><li><a href="global.html#getMethodType">getMethodType</a></li><li><a href="global.html#GetPeerRequester">GetPeerRequester</a></li><li><a href="global.html#Interceptor">Interceptor</a></li><li><a href="global.html#InterceptorProvider">InterceptorProvider</a></li><li><a href="global.html#loadPackageDefinition">loadPackageDefinition</a></li><li><a href="global.html#MessageListener">MessageListener</a></li><li><a href="global.html#MessageRequester">MessageRequester</a></li><li><a href="global.html#MetadataListener">MetadataListener</a></li><li><a href="global.html#MetadataRequester">MetadataRequester</a></li><li><a href="global.html#NextCall">NextCall</a></li><li><a href="global.html#StatusListener">StatusListener</a></li>
  54. </ul>
  55. </li>
  56. <li class="dropdown">
  57. <a href="externals.list.html" class="dropdown-toggle" data-toggle="dropdown">Externals<b class="caret"></b></a>
  58. <ul class="dropdown-menu ">
  59. <li><a href="external-Duplex.html">Duplex</a></li><li><a href="external-EventEmitter.html">EventEmitter</a></li><li><a href="external-GoogleCredential.html">GoogleCredential</a></li><li><a href="external-Readable.html">Readable</a></li><li><a href="external-Writable.html">Writable</a></li>
  60. </ul>
  61. </li>
  62. </ul>
  63. <div class="col-sm-3 col-md-3">
  64. <form class="navbar-form" role="search">
  65. <div class="input-group">
  66. <input type="text" class="form-control" placeholder="Search" name="q" id="search-input">
  67. <div class="input-group-btn">
  68. <button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button>
  69. </div>
  70. </div>
  71. </form>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <div class="container" id="toc-content">
  77. <div class="row">
  78. <div class="col-md-8">
  79. <div id="main">
  80. <h1 class="page-title">Class: Server</h1>
  81. <section>
  82. <header>
  83. <h2>
  84. <span class="ancestors"><a href="grpc.html">grpc</a>.</span>
  85. Server
  86. </h2>
  87. </header>
  88. <article>
  89. <div class="container-overview">
  90. <hr>
  91. <dt>
  92. <h4 class="name" id="Server"><span class="type-signature"></span>new Server( [options])</h4>
  93. </dt>
  94. <dd>
  95. <div class="description">
  96. <p>Constructs a server object that stores request handlers and delegates
  97. incoming requests to those handlers</p>
  98. </div>
  99. <h5>Parameters:</h5>
  100. <table class="params table table-striped">
  101. <thead>
  102. <tr>
  103. <th>Name</th>
  104. <th>Type</th>
  105. <th>Argument</th>
  106. <th class="last">Description</th>
  107. </tr>
  108. </thead>
  109. <tbody>
  110. <tr>
  111. <td class="name"><code>options</code></td>
  112. <td class="type">
  113. <span class="param-type">Object</span>
  114. </td>
  115. <td class="attributes">
  116. &lt;optional><br>
  117. </td>
  118. <td class="description last"><p>Options that should be passed to the internal server
  119. implementation. The available options are listed in
  120. <a href="https://grpc.github.io/grpc/core/group__grpc__arg__keys.html">this document</a>.</p></td>
  121. </tr>
  122. </tbody>
  123. </table>
  124. <dl class="details">
  125. </dl>
  126. <h5>Example</h5>
  127. <pre class="sunlight-highlight-javascript">var server = new grpc.Server();
  128. server.addProtoService(protobuf_service_descriptor, service_implementation);
  129. server.bind(&#x27;address:port&#x27;, server_credential);
  130. server.start();</pre>
  131. </dd>
  132. </div>
  133. <h3 class="subsection-title">Members</h3>
  134. <dl>
  135. <hr>
  136. <dt class="name" id="addProtoService">
  137. <h4 id="addProtoService"><span class="type-signature"></span>addProtoService<span class="type-signature"></span></h4>
  138. </dt>
  139. <dd>
  140. <div class="description">
  141. <p>Add a proto service to the server, with a corresponding implementation</p>
  142. </div>
  143. <dl class="details">
  144. <dt class="important tag-deprecated method-doc-label method-doc-details-label">Deprecated:</dt>
  145. <dd>
  146. <ul class="dummy">
  147. <li>Use <a href="grpc.Server.html#addService">grpc.Server#addService</a> instead</li>
  148. </ul>
  149. </dd>
  150. </dl>
  151. </dd>
  152. </dl>
  153. <h3 class="subsection-title">Methods</h3>
  154. <dl>
  155. <hr>
  156. <dt>
  157. <h4 class="name" id="addService"><span class="type-signature"></span>addService(service, implementation)</h4>
  158. </dt>
  159. <dd>
  160. <div class="description">
  161. <p>Add a service to the server, with a corresponding implementation.</p>
  162. </div>
  163. <h5>Parameters:</h5>
  164. <table class="params table table-striped">
  165. <thead>
  166. <tr>
  167. <th>Name</th>
  168. <th>Type</th>
  169. <th class="last">Description</th>
  170. </tr>
  171. </thead>
  172. <tbody>
  173. <tr>
  174. <td class="name"><code>service</code></td>
  175. <td class="type">
  176. <span class="param-type"><a href="grpc.html#~ServiceDefinition">grpc~ServiceDefinition</a></span>
  177. </td>
  178. <td class="description last"><p>The service descriptor</p></td>
  179. </tr>
  180. <tr>
  181. <td class="name"><code>implementation</code></td>
  182. <td class="type">
  183. <span class="param-type">Object.&lt;String, <a href="grpc.Server.html#~handleCall">grpc.Server~handleCall</a>></span>
  184. </td>
  185. <td class="description last"><p>Map of method
  186. names to method implementation for the provided service.</p></td>
  187. </tr>
  188. </tbody>
  189. </table>
  190. <dl class="details">
  191. </dl>
  192. </dd>
  193. <hr>
  194. <dt>
  195. <h4 class="name" id="bind"><span class="type-signature"></span>bind(port, creds)</h4>
  196. </dt>
  197. <dd>
  198. <div class="description">
  199. <p>Binds the server to the given port, with SSL disabled if creds is an
  200. insecure credentials object</p>
  201. </div>
  202. <h5>Parameters:</h5>
  203. <table class="params table table-striped">
  204. <thead>
  205. <tr>
  206. <th>Name</th>
  207. <th>Type</th>
  208. <th class="last">Description</th>
  209. </tr>
  210. </thead>
  211. <tbody>
  212. <tr>
  213. <td class="name"><code>port</code></td>
  214. <td class="type">
  215. <span class="param-type">string</span>
  216. </td>
  217. <td class="description last"><p>The port that the server should bind on, in the format
  218. &quot;address:port&quot;</p></td>
  219. </tr>
  220. <tr>
  221. <td class="name"><code>creds</code></td>
  222. <td class="type">
  223. <span class="param-type"><a href="grpc.ServerCredentials.html">grpc.ServerCredentials</a></span>
  224. </td>
  225. <td class="description last"><p>Server credential object to be used for
  226. SSL. Pass an insecure credentials object for an insecure port.</p></td>
  227. </tr>
  228. </tbody>
  229. </table>
  230. <dl class="details">
  231. </dl>
  232. <h5>Returns:</h5>
  233. <div class="param-desc">
  234. <p>The bound port number. Negative if binding the port failed.</p>
  235. </div>
  236. <dl>
  237. <dt>
  238. Type
  239. </dt>
  240. <dd>
  241. <span class="param-type">number</span>
  242. </dd>
  243. </dl>
  244. </dd>
  245. <hr>
  246. <dt>
  247. <h4 class="name" id="bindAsync"><span class="type-signature"></span>bindAsync(port, creds)</h4>
  248. </dt>
  249. <dd>
  250. <div class="description">
  251. <p>Binds the server to the given port, with SSL disabled if creds is an
  252. insecure credentials object. Provides the result asynchronously.</p>
  253. </div>
  254. <h5>Parameters:</h5>
  255. <table class="params table table-striped">
  256. <thead>
  257. <tr>
  258. <th>Name</th>
  259. <th>Type</th>
  260. <th class="last">Description</th>
  261. </tr>
  262. </thead>
  263. <tbody>
  264. <tr>
  265. <td class="name"><code>port</code></td>
  266. <td class="type">
  267. <span class="param-type">string</span>
  268. </td>
  269. <td class="description last"><p>The port that the server should bind on, in the format
  270. &quot;address:port&quot;</p></td>
  271. </tr>
  272. <tr>
  273. <td class="name"><code>creds</code></td>
  274. <td class="type">
  275. <span class="param-type"><a href="grpc.ServerCredentials.html">grpc.ServerCredentials</a></span>
  276. </td>
  277. <td class="description last"><p>Server credential object to be used for
  278. SSL. Pass an insecure credentials object for an insecure port.</p></td>
  279. </tr>
  280. </tbody>
  281. </table>
  282. <dl class="details">
  283. </dl>
  284. </dd>
  285. <hr>
  286. <dt>
  287. <h4 class="name" id="forceShutdown"><span class="type-signature"></span>forceShutdown()</h4>
  288. </dt>
  289. <dd>
  290. <div class="description">
  291. <p>Forcibly shuts down the server. The server will stop receiving new calls
  292. and cancel all pending calls. When it returns, the server has shut down.
  293. This method is idempotent with itself and tryShutdown, and it will trigger
  294. any outstanding tryShutdown callbacks.</p>
  295. </div>
  296. <dl class="details">
  297. </dl>
  298. </dd>
  299. <hr>
  300. <dt>
  301. <h4 class="name" id="register"><span class="type-signature"></span>register(name, handler, serialize, deserialize, type)</h4>
  302. </dt>
  303. <dd>
  304. <div class="description">
  305. <p>Registers a handler to handle the named method. Fails if there already is
  306. a handler for the given method. Returns true on success</p>
  307. </div>
  308. <h5>Parameters:</h5>
  309. <table class="params table table-striped">
  310. <thead>
  311. <tr>
  312. <th>Name</th>
  313. <th>Type</th>
  314. <th class="last">Description</th>
  315. </tr>
  316. </thead>
  317. <tbody>
  318. <tr>
  319. <td class="name"><code>name</code></td>
  320. <td class="type">
  321. <span class="param-type">string</span>
  322. </td>
  323. <td class="description last"><p>The name of the method that the provided function should
  324. handle/respond to.</p></td>
  325. </tr>
  326. <tr>
  327. <td class="name"><code>handler</code></td>
  328. <td class="type">
  329. <span class="param-type"><a href="grpc.Server.html#~handleCall">grpc.Server~handleCall</a></span>
  330. </td>
  331. <td class="description last"><p>Function that takes a stream of
  332. request values and returns a stream of response values</p></td>
  333. </tr>
  334. <tr>
  335. <td class="name"><code>serialize</code></td>
  336. <td class="type">
  337. <span class="param-type"><a href="grpc.html#~serialize">grpc~serialize</a></span>
  338. </td>
  339. <td class="description last"><p>Serialization function for responses</p></td>
  340. </tr>
  341. <tr>
  342. <td class="name"><code>deserialize</code></td>
  343. <td class="type">
  344. <span class="param-type"><a href="grpc.html#~deserialize">grpc~deserialize</a></span>
  345. </td>
  346. <td class="description last"><p>Deserialization function for requests</p></td>
  347. </tr>
  348. <tr>
  349. <td class="name"><code>type</code></td>
  350. <td class="type">
  351. <span class="param-type">'unary'</span>
  352. |
  353. <span class="param-type">'client_stream'</span>
  354. |
  355. <span class="param-type">'server_stream'</span>
  356. |
  357. <span class="param-type">'bidi'</span>
  358. </td>
  359. <td class="description last"><p>The streaming type of method that this handles</p></td>
  360. </tr>
  361. </tbody>
  362. </table>
  363. <dl class="details">
  364. </dl>
  365. <h5>Returns:</h5>
  366. <div class="param-desc">
  367. <p>True if the handler was set. False if a handler was already
  368. set for that name.</p>
  369. </div>
  370. <dl>
  371. <dt>
  372. Type
  373. </dt>
  374. <dd>
  375. <span class="param-type">boolean</span>
  376. </dd>
  377. </dl>
  378. </dd>
  379. <hr>
  380. <dt>
  381. <h4 class="name" id="start"><span class="type-signature"></span>start()</h4>
  382. </dt>
  383. <dd>
  384. <div class="description">
  385. <p>Start the server and begin handling requests</p>
  386. </div>
  387. <dl class="details">
  388. </dl>
  389. </dd>
  390. <hr>
  391. <dt>
  392. <h4 class="name" id="tryShutdown"><span class="type-signature"></span>tryShutdown(callback)</h4>
  393. </dt>
  394. <dd>
  395. <div class="description">
  396. <p>Gracefully shuts down the server. The server will stop receiving new calls,
  397. and any pending calls will complete. The callback will be called when all
  398. pending calls have completed and the server is fully shut down. This method
  399. is idempotent with itself and forceShutdown.</p>
  400. </div>
  401. <h5>Parameters:</h5>
  402. <table class="params table table-striped">
  403. <thead>
  404. <tr>
  405. <th>Name</th>
  406. <th>Type</th>
  407. <th class="last">Description</th>
  408. </tr>
  409. </thead>
  410. <tbody>
  411. <tr>
  412. <td class="name"><code>callback</code></td>
  413. <td class="type">
  414. <span class="param-type">function</span>
  415. </td>
  416. <td class="description last"><p>The shutdown complete callback</p></td>
  417. </tr>
  418. </tbody>
  419. </table>
  420. <dl class="details">
  421. </dl>
  422. </dd>
  423. </dl>
  424. <h3 class="subsection-title">Type Definitions</h3>
  425. <dl>
  426. <hr>
  427. <dt>
  428. <h4 class="name" id="~bindCallback"><span class="type-signature"></span>bindCallback( [error], port)</h4>
  429. </dt>
  430. <dd>
  431. <div class="description">
  432. <p>Called with the result of attempting to bind a port</p>
  433. </div>
  434. <h5>Parameters:</h5>
  435. <table class="params table table-striped">
  436. <thead>
  437. <tr>
  438. <th>Name</th>
  439. <th>Type</th>
  440. <th>Argument</th>
  441. <th class="last">Description</th>
  442. </tr>
  443. </thead>
  444. <tbody>
  445. <tr>
  446. <td class="name"><code>error</code></td>
  447. <td class="type">
  448. <span class="param-type">Error</span>
  449. </td>
  450. <td class="attributes">
  451. &lt;optional><br>
  452. </td>
  453. <td class="description last"><p>If non-null, indicates that binding the port failed.</p></td>
  454. </tr>
  455. <tr>
  456. <td class="name"><code>port</code></td>
  457. <td class="type">
  458. <span class="param-type">number</span>
  459. </td>
  460. <td class="attributes">
  461. </td>
  462. <td class="description last"><p>The bound port number. If binding the port fails, this
  463. will be negative to match the output of bind.</p></td>
  464. </tr>
  465. </tbody>
  466. </table>
  467. <dl class="details">
  468. </dl>
  469. </dd>
  470. <hr>
  471. <dt>
  472. <h4 class="name" id="~handleBidiStreamingCall"><span class="type-signature"></span>handleBidiStreamingCall(call)</h4>
  473. </dt>
  474. <dd>
  475. <div class="description">
  476. <p>User provided method to handle bidirectional streaming calls on the server.</p>
  477. </div>
  478. <h5>Parameters:</h5>
  479. <table class="params table table-striped">
  480. <thead>
  481. <tr>
  482. <th>Name</th>
  483. <th>Type</th>
  484. <th class="last">Description</th>
  485. </tr>
  486. </thead>
  487. <tbody>
  488. <tr>
  489. <td class="name"><code>call</code></td>
  490. <td class="type">
  491. <span class="param-type"><a href="grpc-ServerDuplexStream.html">grpc~ServerDuplexStream</a></span>
  492. </td>
  493. <td class="description last"><p>The call object</p></td>
  494. </tr>
  495. </tbody>
  496. </table>
  497. <dl class="details">
  498. </dl>
  499. </dd>
  500. <hr>
  501. <dt class="name" id="~handleCall">
  502. <h4 id="~handleCall">handleCall</h4>
  503. </dt>
  504. <dd>
  505. <div class="description">
  506. <p>Unified type for application handlers for all types of calls</p>
  507. </div>
  508. <h5>Type:</h5>
  509. <ul>
  510. <li>
  511. <span class="param-type"><a href="grpc.Server.html#~handleUnaryCall">grpc.Server~handleUnaryCall</a></span>
  512. |
  513. <span class="param-type"><a href="grpc.Server.html#~handleClientStreamingCall">grpc.Server~handleClientStreamingCall</a></span>
  514. |
  515. <span class="param-type"><a href="grpc.Server.html#~handleServerStreamingCall">grpc.Server~handleServerStreamingCall</a></span>
  516. |
  517. <span class="param-type"><a href="grpc.Server.html#~handleBidiStreamingCall">grpc.Server~handleBidiStreamingCall</a></span>
  518. </li>
  519. </ul>
  520. <dl class="details">
  521. </dl>
  522. </dd>
  523. <hr>
  524. <dt>
  525. <h4 class="name" id="~handleClientStreamingCall"><span class="type-signature"></span>handleClientStreamingCall(call, callback)</h4>
  526. </dt>
  527. <dd>
  528. <div class="description">
  529. <p>User provided method to handle client streaming methods on the server.</p>
  530. </div>
  531. <h5>Parameters:</h5>
  532. <table class="params table table-striped">
  533. <thead>
  534. <tr>
  535. <th>Name</th>
  536. <th>Type</th>
  537. <th class="last">Description</th>
  538. </tr>
  539. </thead>
  540. <tbody>
  541. <tr>
  542. <td class="name"><code>call</code></td>
  543. <td class="type">
  544. <span class="param-type"><a href="grpc-ServerReadableStream.html">grpc~ServerReadableStream</a></span>
  545. </td>
  546. <td class="description last"><p>The call object</p></td>
  547. </tr>
  548. <tr>
  549. <td class="name"><code>callback</code></td>
  550. <td class="type">
  551. <span class="param-type"><a href="grpc.Server.html#~sendUnaryData">grpc.Server~sendUnaryData</a></span>
  552. </td>
  553. <td class="description last"><p>The callback to call to respond
  554. to the request</p></td>
  555. </tr>
  556. </tbody>
  557. </table>
  558. <dl class="details">
  559. </dl>
  560. </dd>
  561. <hr>
  562. <dt>
  563. <h4 class="name" id="~handleServerStreamingCall"><span class="type-signature"></span>handleServerStreamingCall(call)</h4>
  564. </dt>
  565. <dd>
  566. <div class="description">
  567. <p>User provided method to handle server streaming methods on the server.</p>
  568. </div>
  569. <h5>Parameters:</h5>
  570. <table class="params table table-striped">
  571. <thead>
  572. <tr>
  573. <th>Name</th>
  574. <th>Type</th>
  575. <th class="last">Description</th>
  576. </tr>
  577. </thead>
  578. <tbody>
  579. <tr>
  580. <td class="name"><code>call</code></td>
  581. <td class="type">
  582. <span class="param-type"><a href="grpc-ServerWritableStream.html">grpc~ServerWritableStream</a></span>
  583. </td>
  584. <td class="description last"><p>The call object</p></td>
  585. </tr>
  586. </tbody>
  587. </table>
  588. <dl class="details">
  589. </dl>
  590. </dd>
  591. <hr>
  592. <dt>
  593. <h4 class="name" id="~handleUnaryCall"><span class="type-signature"></span>handleUnaryCall(call, callback)</h4>
  594. </dt>
  595. <dd>
  596. <div class="description">
  597. <p>User-provided method to handle unary requests on a server</p>
  598. </div>
  599. <h5>Parameters:</h5>
  600. <table class="params table table-striped">
  601. <thead>
  602. <tr>
  603. <th>Name</th>
  604. <th>Type</th>
  605. <th class="last">Description</th>
  606. </tr>
  607. </thead>
  608. <tbody>
  609. <tr>
  610. <td class="name"><code>call</code></td>
  611. <td class="type">
  612. <span class="param-type"><a href="grpc-ServerUnaryCall.html">grpc~ServerUnaryCall</a></span>
  613. </td>
  614. <td class="description last"><p>The call object</p></td>
  615. </tr>
  616. <tr>
  617. <td class="name"><code>callback</code></td>
  618. <td class="type">
  619. <span class="param-type"><a href="grpc.Server.html#~sendUnaryData">grpc.Server~sendUnaryData</a></span>
  620. </td>
  621. <td class="description last"><p>The callback to call to respond
  622. to the request</p></td>
  623. </tr>
  624. </tbody>
  625. </table>
  626. <dl class="details">
  627. </dl>
  628. </dd>
  629. <hr>
  630. <dt>
  631. <h4 class="name" id="~sendUnaryData"><span class="type-signature"></span>sendUnaryData(error, value [, trailer] [, flags])</h4>
  632. </dt>
  633. <dd>
  634. <div class="description">
  635. <p>Callback function passed to server handlers that handle methods with unary
  636. responses.</p>
  637. </div>
  638. <h5>Parameters:</h5>
  639. <table class="params table table-striped">
  640. <thead>
  641. <tr>
  642. <th>Name</th>
  643. <th>Type</th>
  644. <th>Argument</th>
  645. <th class="last">Description</th>
  646. </tr>
  647. </thead>
  648. <tbody>
  649. <tr>
  650. <td class="name"><code>error</code></td>
  651. <td class="type">
  652. <span class="param-type"><a href="grpc.html#~ServiceError">grpc~ServiceError</a></span>
  653. </td>
  654. <td class="attributes">
  655. </td>
  656. <td class="description last"><p>An error, if the call failed</p></td>
  657. </tr>
  658. <tr>
  659. <td class="name"><code>value</code></td>
  660. <td class="type">
  661. <span class="param-type">*</span>
  662. </td>
  663. <td class="attributes">
  664. </td>
  665. <td class="description last"><p>The response value. Must be a valid argument to the
  666. <code>responseSerialize</code> method of the method that is being handled</p></td>
  667. </tr>
  668. <tr>
  669. <td class="name"><code>trailer</code></td>
  670. <td class="type">
  671. <span class="param-type"><a href="grpc.Metadata.html">grpc.Metadata</a></span>
  672. </td>
  673. <td class="attributes">
  674. &lt;optional><br>
  675. </td>
  676. <td class="description last"><p>Trailing metadata to send, if applicable</p></td>
  677. </tr>
  678. <tr>
  679. <td class="name"><code>flags</code></td>
  680. <td class="type">
  681. <span class="param-type"><a href="grpc.html#.writeFlags">grpc.writeFlags</a></span>
  682. </td>
  683. <td class="attributes">
  684. &lt;optional><br>
  685. </td>
  686. <td class="description last"><p>Flags to modify writing the response</p></td>
  687. </tr>
  688. </tbody>
  689. </table>
  690. <dl class="details">
  691. </dl>
  692. </dd>
  693. </dl>
  694. </article>
  695. </section>
  696. </div>
  697. </div>
  698. <div class="clearfix"></div>
  699. <div class="col-md-3">
  700. <div id="toc" class="col-md-3 hidden-xs hidden-sm hidden-md"></div>
  701. </div>
  702. </div>
  703. </div>
  704. <div class="modal fade" id="searchResults">
  705. <div class="modal-dialog">
  706. <div class="modal-content">
  707. <div class="modal-header">
  708. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  709. <h4 class="modal-title">Search results</h4>
  710. </div>
  711. <div class="modal-body"></div>
  712. <div class="modal-footer">
  713. <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  714. </div>
  715. </div><!-- /.modal-content -->
  716. </div><!-- /.modal-dialog -->
  717. </div>
  718. <footer>
  719. <span class="jsdoc-message">
  720. Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
  721. on 2019-07-15T16:38:16-07:00
  722. using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
  723. </span>
  724. </footer>
  725. <script src="scripts/docstrap.lib.js"></script>
  726. <script src="scripts/toc.js"></script>
  727. <script type="text/javascript" src="scripts/fulltext-search-ui.js"></script>
  728. <script>
  729. $( function () {
  730. $( "[id*='$']" ).each( function () {
  731. var $this = $( this );
  732. $this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
  733. } );
  734. $( ".tutorial-section pre, .readme-section pre, pre.prettyprint.source" ).each( function () {
  735. var $this = $( this );
  736. var example = $this.find( "code" );
  737. exampleText = example.html();
  738. var lang = /{@lang (.*?)}/.exec( exampleText );
  739. if ( lang && lang[1] ) {
  740. exampleText = exampleText.replace( lang[0], "" );
  741. example.html( exampleText );
  742. lang = lang[1];
  743. } else {
  744. var langClassMatch = example.parent()[0].className.match(/lang\-(\S+)/);
  745. lang = langClassMatch ? langClassMatch[1] : "javascript";
  746. }
  747. if ( lang ) {
  748. $this
  749. .addClass( "sunlight-highlight-" + lang )
  750. .addClass( "linenums" )
  751. .html( example.html() );
  752. }
  753. } );
  754. Sunlight.highlightAll( {
  755. lineNumbers : false,
  756. showMenu : true,
  757. enableDoclinks : true
  758. } );
  759. $.catchAnchorLinks( {
  760. navbarOffset: 10
  761. } );
  762. $( "#toc" ).toc( {
  763. anchorName : function ( i, heading, prefix ) {
  764. return $( heading ).attr( "id" ) || ( prefix + i );
  765. },
  766. selectors : "#toc-content h1,#toc-content h2,#toc-content h3,#toc-content h4",
  767. showAndHide : false,
  768. smoothScrolling: true
  769. } );
  770. $( "#main span[id^='toc']" ).addClass( "toc-shim" );
  771. $( '.dropdown-toggle' ).dropdown();
  772. $( "table" ).each( function () {
  773. var $this = $( this );
  774. $this.addClass('table');
  775. } );
  776. } );
  777. </script>
  778. <!--Navigation and Symbol Display-->
  779. <!--Google Analytics-->
  780. <script type="text/javascript">
  781. $(document).ready(function() {
  782. SearcherDisplay.init();
  783. });
  784. </script>
  785. </body>
  786. </html>