"use strict";(self.webpackChunkgrpc_workshop_doc=self.webpackChunkgrpc_workshop_doc||[]).push([[5855],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>g});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(n),y=a,g=d["".concat(l,".").concat(y)]||d[y]||p[y]||o;return n?r.createElement(g,i(i({ref:t},u),{},{components:n})):r.createElement(g,i({ref:t},u))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=y;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:a,i[1]=s;for(var c=2;c<o;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},1338:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=n(7462),a=(n(7294),n(3905));const o={},i="Vocabulary",s={unversionedId:"Day 1/gRPC internals/terminology",id:"Day 1/gRPC internals/terminology",title:"Vocabulary",description:"Metadada",source:"@site/docs/Day 1/04-gRPC internals/01-terminology.md",sourceDirName:"Day 1/04-gRPC internals",slug:"/Day 1/gRPC internals/terminology",permalink:"/docs/Day 1/gRPC internals/terminology",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/Day 1/04-gRPC internals/01-terminology.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{},sidebar:"day1",previous:{title:"gRPC internal workings",permalink:"/docs/Day 1/gRPC internals/"},next:{title:"Exceptions in gRPC",permalink:"/docs/Day 1/gRPC internals/exceptions"}},l={},c=[{value:"Metadada",id:"metadada",level:2},{value:"Channels",id:"channels",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...n}=e;return(0,a.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"vocabulary"},"Vocabulary"),(0,a.kt)("h2",{id:"metadada"},"Metadada"),(0,a.kt)("p",null,"Metadata is information about a particular RPC call (such as authentication details) in the form of a list of key-value pairs, where the keys are strings and the values are typically strings, but can be binary data."),(0,a.kt)("p",null,"Keys are case insensitive and consist of ASCII letters, digits, and special characters -, ","_",", . and must not start with grpc- (which is reserved for gRPC itself). Binary-valued keys end in -bin while ASCII-valued keys do not."),(0,a.kt)("p",null,"User-defined metadata is not used by gRPC, which allows the client to provide information associated with the call to the server and vice versa."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Access to metadata is language dependent.")),(0,a.kt)("h2",{id:"channels"},"Channels"),(0,a.kt)("p",null,"A gRPC channel provides a connection to a gRPC server on a specified host and port. It is used when creating a client stub. Clients can specify channel arguments to modify gRPC\u2019s default behavior, such as switching message compression on or off. A channel has state, including connected and idle."),(0,a.kt)("p",null,"How gRPC deals with closing a channel is language dependent. Some languages also permit querying channel state."))}p.isMDXComponent=!0}}]);