mirror of
				https://github.com/taigrr/nats.docs
				synced 2025-01-18 04:03:23 -08:00 
			
		
		
		
	
		
			
				
	
	
		
			3349 lines
		
	
	
		
			93 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			3349 lines
		
	
	
		
			93 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
 | |
| <!DOCTYPE HTML>
 | |
| <html lang="" >
 | |
|     <head>
 | |
|         <meta charset="UTF-8">
 | |
|         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
 | |
|         <title>Basics ยท NATS</title>
 | |
|         <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | |
|         <meta name="description" content="">
 | |
|         <meta name="generator" content="GitBook 3.2.3">
 | |
|         <meta name="author" content="The NATS Maintainers">
 | |
|         
 | |
|         
 | |
|     
 | |
|     <link rel="stylesheet" href="../../gitbook/style.css">
 | |
| 
 | |
|     
 | |
|             
 | |
|                 
 | |
|                 <link rel="stylesheet" href="../../gitbook/gitbook-plugin-prism/prism.css">
 | |
|                 
 | |
|             
 | |
|                 
 | |
|                 <link rel="stylesheet" href="../../gitbook/gitbook-plugin-toggle-chapters/toggle.css">
 | |
|                 
 | |
|             
 | |
|                 
 | |
|                 <link rel="stylesheet" href="../../gitbook/gitbook-plugin-anchors/plugin.css">
 | |
|                 
 | |
|             
 | |
|                 
 | |
|                 <link rel="stylesheet" href="../../gitbook/gitbook-plugin-search/search.css">
 | |
|                 
 | |
|             
 | |
|                 
 | |
|                 <link rel="stylesheet" href="../../gitbook/gitbook-plugin-fontsettings/website.css">
 | |
|                 
 | |
|             
 | |
|         
 | |
| 
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|     
 | |
|         
 | |
|     
 | |
|         
 | |
|     
 | |
|         
 | |
|     
 | |
|         
 | |
|     
 | |
|         
 | |
|     
 | |
| 
 | |
|         
 | |
| 
 | |
|     
 | |
|     
 | |
|     <meta name="HandheldFriendly" content="true"/>
 | |
|     <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
 | |
|     <meta name="apple-mobile-web-app-capable" content="yes">
 | |
|     <meta name="apple-mobile-web-app-status-bar-style" content="black">
 | |
|     <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
 | |
|     <link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
 | |
| 
 | |
|     
 | |
|     <link rel="next" href="inspecting_jwts.html" />
 | |
|     
 | |
|     
 | |
|     <link rel="prev" href="./" />
 | |
|     
 | |
| 
 | |
| <link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
 | |
| 
 | |
|     </head>
 | |
|     <body>
 | |
|         
 | |
| 
 | |
| <div class="book">
 | |
|     <div class="book-summary">
 | |
|         
 | |
|             
 | |
| <div id="book-search-input" role="search">
 | |
|     <input type="text" placeholder="Type to search" />
 | |
| </div>
 | |
| 
 | |
|             
 | |
|                 <nav role="navigation">
 | |
|                 
 | |
| 
 | |
| 
 | |
| <ul class="summary">
 | |
|     
 | |
|     
 | |
| 
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="1.1" data-path="../../">
 | |
|             
 | |
|                 <a href="../../">
 | |
|             
 | |
|                     
 | |
|                     Introduction
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="1.2" data-path="../../whats_new/whats_new_20.html">
 | |
|             
 | |
|                 <a href="../../whats_new/whats_new_20.html">
 | |
|             
 | |
|                     
 | |
|                     What's New in 2.0
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="1.3" data-path="../../faq.html">
 | |
|             
 | |
|                 <a href="../../faq.html">
 | |
|             
 | |
|                     
 | |
|                     FAQ
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="1.4" >
 | |
|             
 | |
|                 <a target="_blank" href="https://nats.io">
 | |
|             
 | |
|                     
 | |
|                     nats.io
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">Concepts</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="2.1" data-path="../../developer/concepts/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/intro.html">
 | |
|             
 | |
|                     
 | |
|                     What is NATS
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="2.2" data-path="../../developer/concepts/subjects.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/subjects.html">
 | |
|             
 | |
|                     
 | |
|                     Subject-Based Messaging
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="2.3" data-path="../../developer/concepts/pubsub.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/pubsub.html">
 | |
|             
 | |
|                     
 | |
|                     Publish-Subscribe
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="2.4" data-path="../../developer/concepts/reqreply.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/reqreply.html">
 | |
|             
 | |
|                     
 | |
|                     Request-Reply
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="2.5" data-path="../../developer/concepts/queue.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/queue.html">
 | |
|             
 | |
|                     
 | |
|                     Queue Groups
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="2.6" data-path="../../developer/concepts/acks.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/acks.html">
 | |
|             
 | |
|                     
 | |
|                     Acknowledgements
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="2.7" data-path="../../developer/concepts/seq_num.html">
 | |
|             
 | |
|                 <a href="../../developer/concepts/seq_num.html">
 | |
|             
 | |
|                     
 | |
|                     Sequence Numbers
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">Developing With NATS</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="3.1" data-path="../../developer/">
 | |
|             
 | |
|                 <a href="../../developer/">
 | |
|             
 | |
|                     
 | |
|                     Introduction
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2" data-path="../../developer/connecting/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Connecting
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.1" data-path="../../developer/connecting/default_server.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/default_server.html">
 | |
|             
 | |
|                     
 | |
|                     Connecting to the Default Server
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.2" data-path="../../developer/connecting/specific_server.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/specific_server.html">
 | |
|             
 | |
|                     
 | |
|                     Connecting to a Specific Server
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.3" data-path="../../developer/connecting/cluster.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/cluster.html">
 | |
|             
 | |
|                     
 | |
|                     Connecting to a Cluster
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.4" data-path="../../developer/connecting/connect_timeout.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/connect_timeout.html">
 | |
|             
 | |
|                     
 | |
|                     Setting a Connect Timeout
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.5" data-path="../../developer/connecting/pingpong.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/pingpong.html">
 | |
|             
 | |
|                     
 | |
|                     Ping/Pong Protocol
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.6" data-path="../../developer/connecting/protocol.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/protocol.html">
 | |
|             
 | |
|                     
 | |
|                     Controlling the Client/Server Protocol
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.2.7" data-path="../../developer/connecting/noecho.html">
 | |
|             
 | |
|                 <a href="../../developer/connecting/noecho.html">
 | |
|             
 | |
|                     
 | |
|                     Turning Off Echo'd Messages
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.3" data-path="../../developer/reconnect/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Automatic Reconnections
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.3.1" data-path="../../developer/reconnect/disable.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/disable.html">
 | |
|             
 | |
|                     
 | |
|                     Disabling Reconnect
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.3.2" data-path="../../developer/reconnect/max.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/max.html">
 | |
|             
 | |
|                     
 | |
|                     Set the Number of Reconnect Attempts
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.3.3" data-path="../../developer/reconnect/wait.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/wait.html">
 | |
|             
 | |
|                     
 | |
|                     Pausing Between Reconnect Attempts
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.3.4" data-path="../../developer/reconnect/random.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/random.html">
 | |
|             
 | |
|                     
 | |
|                     Avoiding the Thundering Herd
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.3.5" data-path="../../developer/reconnect/events.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/events.html">
 | |
|             
 | |
|                     
 | |
|                     Listening for Reconnect Events
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.3.6" data-path="../../developer/reconnect/buffer.html">
 | |
|             
 | |
|                 <a href="../../developer/reconnect/buffer.html">
 | |
|             
 | |
|                     
 | |
|                     Buffering Messages During Reconnect Attempts
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.4" data-path="../../developer/security/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/security/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Securing Connections
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.4.1" data-path="../../developer/security/userpass.html">
 | |
|             
 | |
|                 <a href="../../developer/security/userpass.html">
 | |
|             
 | |
|                     
 | |
|                     Authenticating with a User and Password
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.4.2" data-path="../../developer/security/token.html">
 | |
|             
 | |
|                 <a href="../../developer/security/token.html">
 | |
|             
 | |
|                     
 | |
|                     Authenticating with a Token
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.4.3" data-path="../../developer/security/nkey.html">
 | |
|             
 | |
|                 <a href="../../developer/security/nkey.html">
 | |
|             
 | |
|                     
 | |
|                     Authenticating with an NKey
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.4.4" data-path="../../developer/security/creds.html">
 | |
|             
 | |
|                 <a href="../../developer/security/creds.html">
 | |
|             
 | |
|                     
 | |
|                     Authenticating with a Credentials File
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.4.5" data-path="../../developer/security/tls.html">
 | |
|             
 | |
|                 <a href="../../developer/security/tls.html">
 | |
|             
 | |
|                     
 | |
|                     Encrypting Connections with TLS
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5" data-path="../../developer/receiving/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Receiving Messages
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.1" data-path="../../developer/receiving/sync.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/sync.html">
 | |
|             
 | |
|                     
 | |
|                     Synchronous Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.2" data-path="../../developer/receiving/async.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/async.html">
 | |
|             
 | |
|                     
 | |
|                     Asynchronous Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.3" data-path="../../developer/receiving/unsubscribing.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/unsubscribing.html">
 | |
|             
 | |
|                     
 | |
|                     Unsubscribing
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.4" data-path="../../developer/receiving/unsub_after.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/unsub_after.html">
 | |
|             
 | |
|                     
 | |
|                     Unsubscribing After N Messages
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.5" data-path="../../developer/receiving/reply.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/reply.html">
 | |
|             
 | |
|                     
 | |
|                     Replying to a Message
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.6" data-path="../../developer/receiving/wildcards.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/wildcards.html">
 | |
|             
 | |
|                     
 | |
|                     Wildcard Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.7" data-path="../../developer/receiving/queues.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/queues.html">
 | |
|             
 | |
|                     
 | |
|                     Queue Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.8" data-path="../../developer/receiving/drain.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/drain.html">
 | |
|             
 | |
|                     
 | |
|                     Draining Messages Before Disconnect
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.5.9" data-path="../../developer/receiving/structure.html">
 | |
|             
 | |
|                 <a href="../../developer/receiving/structure.html">
 | |
|             
 | |
|                     
 | |
|                     Structured Data
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.6" data-path="../../developer/sending/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/sending/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Sending Messages
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.6.1" data-path="../../developer/sending/replyto.html">
 | |
|             
 | |
|                 <a href="../../developer/sending/replyto.html">
 | |
|             
 | |
|                     
 | |
|                     Including a Reply Subject
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.6.2" data-path="../../developer/sending/request_reply.html">
 | |
|             
 | |
|                 <a href="../../developer/sending/request_reply.html">
 | |
|             
 | |
|                     
 | |
|                     Request-Reply Semantics
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.6.3" data-path="../../developer/sending/caches.html">
 | |
|             
 | |
|                 <a href="../../developer/sending/caches.html">
 | |
|             
 | |
|                     
 | |
|                     Caches, Flush and Ping
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.6.4" data-path="../../developer/sending/structure.html">
 | |
|             
 | |
|                 <a href="../../developer/sending/structure.html">
 | |
|             
 | |
|                     
 | |
|                     Sending Structured Data
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.7" data-path="../../developer/events/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/events/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Monitoring the Connection
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.7.1" data-path="../../developer/events/events.html">
 | |
|             
 | |
|                 <a href="../../developer/events/events.html">
 | |
|             
 | |
|                     
 | |
|                     Listen for Connection Events
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.7.2" data-path="../../developer/events/slow.html">
 | |
|             
 | |
|                 <a href="../../developer/events/slow.html">
 | |
|             
 | |
|                     
 | |
|                     Slow Consumers
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.8" data-path="../../developer/tutorials/intro.html">
 | |
|             
 | |
|                 <a href="../../developer/tutorials/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Tutorials
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="3.8.1" data-path="../../developer/tutorials/pubsub.html">
 | |
|             
 | |
|                 <a href="../../developer/tutorials/pubsub.html">
 | |
|             
 | |
|                     
 | |
|                     Explore NATS Pub/Sub
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.8.2" data-path="../../developer/tutorials/reqreply.html">
 | |
|             
 | |
|                 <a href="../../developer/tutorials/reqreply.html">
 | |
|             
 | |
|                     
 | |
|                     Explore NATS Request/Reply
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.8.3" data-path="../../developer/tutorials/queues.html">
 | |
|             
 | |
|                 <a href="../../developer/tutorials/queues.html">
 | |
|             
 | |
|                     
 | |
|                     Explore NATS Queueing
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="3.8.4" data-path="../../developer/tutorials/custom_dialer.html">
 | |
|             
 | |
|                 <a href="../../developer/tutorials/custom_dialer.html">
 | |
|             
 | |
|                     
 | |
|                     Advanced Connect and Custom Dialer in Go
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">NATS Server</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="4.1" data-path="../../nats_server/installation.html">
 | |
|             
 | |
|                 <a href="../../nats_server/installation.html">
 | |
|             
 | |
|                     
 | |
|                     Installing
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.2" data-path="../../nats_server/running.html">
 | |
|             
 | |
|                 <a href="../../nats_server/running.html">
 | |
|             
 | |
|                     
 | |
|                     Running
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.2.1" data-path="../../nats_server/windows_srv.html">
 | |
|             
 | |
|                 <a href="../../nats_server/windows_srv.html">
 | |
|             
 | |
|                     
 | |
|                     Window Service
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.3" data-path="../../nats_server/clients.html">
 | |
|             
 | |
|                 <a href="../../nats_server/clients.html">
 | |
|             
 | |
|                     
 | |
|                     Clients
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.4" data-path="../../nats_server/flags.html">
 | |
|             
 | |
|                 <a href="../../nats_server/flags.html">
 | |
|             
 | |
|                     
 | |
|                     Flags
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5" data-path="../../nats_server/configuration.html">
 | |
|             
 | |
|                 <a href="../../nats_server/configuration.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1" data-path="../../nats_server/securing_nats.html">
 | |
|             
 | |
|                 <a href="../../nats_server/securing_nats.html">
 | |
|             
 | |
|                     
 | |
|                     Securing NATS
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.1" data-path="../../nats_server/tls.html">
 | |
|             
 | |
|                 <a href="../../nats_server/tls.html">
 | |
|             
 | |
|                     
 | |
|                     Enabling TLS
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2" data-path="../../nats_server/auth_intro.html">
 | |
|             
 | |
|                 <a href="../../nats_server/auth_intro.html">
 | |
|             
 | |
|                     
 | |
|                     Authentication
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.1" data-path="../../nats_server/tokens.html">
 | |
|             
 | |
|                 <a href="../../nats_server/tokens.html">
 | |
|             
 | |
|                     
 | |
|                     Tokens
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.2" data-path="../../nats_server/username_password.html">
 | |
|             
 | |
|                 <a href="../../nats_server/username_password.html">
 | |
|             
 | |
|                     
 | |
|                     Username/Password
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.3" data-path="../../nats_server/tls_mutual_auth.html">
 | |
|             
 | |
|                 <a href="../../nats_server/tls_mutual_auth.html">
 | |
|             
 | |
|                     
 | |
|                     TLS Authentication
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.4" data-path="../../nats_server/nkey_auth.html">
 | |
|             
 | |
|                 <a href="../../nats_server/nkey_auth.html">
 | |
|             
 | |
|                     
 | |
|                     NKeys
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.5" data-path="../../nats_server/accounts.html">
 | |
|             
 | |
|                 <a href="../../nats_server/accounts.html">
 | |
|             
 | |
|                     
 | |
|                     Accounts
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.6" data-path="../../nats_server/jwt_auth.html">
 | |
|             
 | |
|                 <a href="../../nats_server/jwt_auth.html">
 | |
|             
 | |
|                     
 | |
|                     JWTs
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.2.7" data-path="../../nats_server/auth_timeout.html">
 | |
|             
 | |
|                 <a href="../../nats_server/auth_timeout.html">
 | |
|             
 | |
|                     
 | |
|                     Authentication Timeout
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.1.3" data-path="../../nats_server/authorization.html">
 | |
|             
 | |
|                 <a href="../../nats_server/authorization.html">
 | |
|             
 | |
|                     
 | |
|                     Authorization
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.2" data-path="../../nats_server/clustering.html">
 | |
|             
 | |
|                 <a href="../../nats_server/clustering.html">
 | |
|             
 | |
|                     
 | |
|                     Clustering
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.2.1" data-path="../../nats_server/cluster_config.html">
 | |
|             
 | |
|                 <a href="../../nats_server/cluster_config.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.2.2" data-path="../../nats_server/cluster_tls.html">
 | |
|             
 | |
|                 <a href="../../nats_server/cluster_tls.html">
 | |
|             
 | |
|                     
 | |
|                     TLS Authentication
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.3" data-path="../../gateways/">
 | |
|             
 | |
|                 <a href="../../gateways/">
 | |
|             
 | |
|                     
 | |
|                     Gateways
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.3.1" data-path="../../gateways/gateway.html">
 | |
|             
 | |
|                 <a href="../../gateways/gateway.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.4" data-path="../../leafnodes/">
 | |
|             
 | |
|                 <a href="../../leafnodes/">
 | |
|             
 | |
|                     
 | |
|                     Leaf Nodes
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.4.1" data-path="../../leafnodes/leafnode_conf.html">
 | |
|             
 | |
|                 <a href="../../leafnodes/leafnode_conf.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.5" data-path="../../nats_server/logging.html">
 | |
|             
 | |
|                 <a href="../../nats_server/logging.html">
 | |
|             
 | |
|                     
 | |
|                     Logging
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.5.6" data-path="../../nats_server/monitoring.html">
 | |
|             
 | |
|                 <a href="../../nats_server/monitoring.html">
 | |
|             
 | |
|                     
 | |
|                     Monitoring
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.6" data-path="../../nats_admin/">
 | |
|             
 | |
|                 <a href="../../nats_admin/">
 | |
|             
 | |
|                     
 | |
|                     Managing A NATS Server
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.6.1" data-path="../../nats_admin/upgrading_cluster.html">
 | |
|             
 | |
|                 <a href="../../nats_admin/upgrading_cluster.html">
 | |
|             
 | |
|                     
 | |
|                     Upgrading a Cluster
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.6.2" data-path="../../nats_admin/slow_consumers.html">
 | |
|             
 | |
|                 <a href="../../nats_admin/slow_consumers.html">
 | |
|             
 | |
|                     
 | |
|                     Slow Consumers
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.6.3" data-path="../../nats_admin/signals.html">
 | |
|             
 | |
|                 <a href="../../nats_admin/signals.html">
 | |
|             
 | |
|                     
 | |
|                     Signals
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.6.4" data-path="../../sys_accounts/">
 | |
|             
 | |
|                 <a href="../../sys_accounts/">
 | |
|             
 | |
|                     
 | |
|                     System Accounts
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.6.4.1" data-path="../../sys_accounts/sys_accounts.html">
 | |
|             
 | |
|                 <a href="../../sys_accounts/sys_accounts.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.7" data-path="../../nats_docker/">
 | |
|             
 | |
|                 <a href="../../nats_docker/">
 | |
|             
 | |
|                     
 | |
|                     NATS and Docker
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="4.7.1" data-path="../../nats_docker/nats-docker-tutorial.html">
 | |
|             
 | |
|                 <a href="../../nats_docker/nats-docker-tutorial.html">
 | |
|             
 | |
|                     
 | |
|                     Tutorial
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="4.7.2" data-path="../../nats_docker/docker_swarm.html">
 | |
|             
 | |
|                 <a href="../../nats_docker/docker_swarm.html">
 | |
|             
 | |
|                     
 | |
|                     Docker Swarm
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">NATS Tools</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="5.1" data-path="../mkpasswd.html">
 | |
|             
 | |
|                 <a href="../mkpasswd.html">
 | |
|             
 | |
|                     
 | |
|                     mkpasswd
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.2" data-path="../nk.html">
 | |
|             
 | |
|                 <a href="../nk.html">
 | |
|             
 | |
|                     
 | |
|                     nk
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.3" data-path="../nsc/">
 | |
|             
 | |
|                 <a href="../nsc/">
 | |
|             
 | |
|                     
 | |
|                     nsc
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="5.3.1" data-path="../nsc/nsc.html">
 | |
|             
 | |
|                 <a href="../nsc/nsc.html">
 | |
|             
 | |
|                     
 | |
|                     Basics
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.3.2" data-path="../nsc/streams.html">
 | |
|             
 | |
|                 <a href="../nsc/streams.html">
 | |
|             
 | |
|                     
 | |
|                     Streams
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.3.3" data-path="../nsc/services.html">
 | |
|             
 | |
|                 <a href="../nsc/services.html">
 | |
|             
 | |
|                     
 | |
|                     Services
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.3.4" data-path="../nsc/signing_keys.html">
 | |
|             
 | |
|                 <a href="../nsc/signing_keys.html">
 | |
|             
 | |
|                     
 | |
|                     Signing Keys
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
 | |
|             
 | |
|                 <a href="../nsc/revocation.html">
 | |
|             
 | |
|                     
 | |
|                     Revocation
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
 | |
|             
 | |
|                 <a href="../nsc/managed.html">
 | |
|             
 | |
|                     
 | |
|                     Managed Operators
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.4" data-path="./">
 | |
|             
 | |
|                 <a href="./">
 | |
|             
 | |
|                     
 | |
|                     nats-account-server
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter active" data-level="5.4.1" data-path="nas_conf.html">
 | |
|             
 | |
|                 <a href="nas_conf.html">
 | |
|             
 | |
|                     
 | |
|                     Basics
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.4.2" data-path="inspecting_jwts.html">
 | |
|             
 | |
|                 <a href="inspecting_jwts.html">
 | |
|             
 | |
|                     
 | |
|                     Inspecting JWTs
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.4.3" data-path="dir_store.html">
 | |
|             
 | |
|                 <a href="dir_store.html">
 | |
|             
 | |
|                     
 | |
|                     Directory Store
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.4.4" data-path="notifications.html">
 | |
|             
 | |
|                 <a href="notifications.html">
 | |
|             
 | |
|                     
 | |
|                     Update Notifications
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.4.5" data-path="mem_resolver.html">
 | |
|             
 | |
|                 <a href="mem_resolver.html">
 | |
|             
 | |
|                     
 | |
|                     Memory Resolver
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.5" data-path="../nats_top/">
 | |
|             
 | |
|                 <a href="../nats_top/">
 | |
|             
 | |
|                     
 | |
|                     nats-top
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="5.5.1" data-path="../nats_top/nats-top-tutorial.html">
 | |
|             
 | |
|                 <a href="../nats_top/nats-top-tutorial.html">
 | |
|             
 | |
|                     
 | |
|                     Tutorial
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="5.6" data-path="../natsbench.html">
 | |
|             
 | |
|                 <a href="../natsbench.html">
 | |
|             
 | |
|                     
 | |
|                     nats-bench
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">NATS Streaming Concepts</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="6.1" data-path="../../nats_streaming/intro.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/intro.html">
 | |
|             
 | |
|                     
 | |
|                     Introduction
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.2" data-path="../../nats_streaming/relation-to-nats.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/relation-to-nats.html">
 | |
|             
 | |
|                     
 | |
|                     Relation to NATS
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.3" data-path="../../nats_streaming/client-connections.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/client-connections.html">
 | |
|             
 | |
|                     
 | |
|                     Client Connections
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.4" data-path="../../nats_streaming/channels/channels.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/channels.html">
 | |
|             
 | |
|                     
 | |
|                     Channels
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="6.4.1" data-path="../../nats_streaming/channels/message-log.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/message-log.html">
 | |
|             
 | |
|                     
 | |
|                     Message Log
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.4.2" data-path="../../nats_streaming/channels/subscriptions/subscriptions.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/subscriptions/subscriptions.html">
 | |
|             
 | |
|                     
 | |
|                     Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="6.4.2.1" data-path="../../nats_streaming/channels/subscriptions/regular.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/subscriptions/regular.html">
 | |
|             
 | |
|                     
 | |
|                     Regular
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.4.2.2" data-path="../../nats_streaming/channels/subscriptions/durable.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/subscriptions/durable.html">
 | |
|             
 | |
|                     
 | |
|                     Durable
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.4.2.3" data-path="../../nats_streaming/channels/subscriptions/queue-group.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/subscriptions/queue-group.html">
 | |
|             
 | |
|                     
 | |
|                     Queue Group
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.4.2.4" data-path="../../nats_streaming/channels/subscriptions/redelivery.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/channels/subscriptions/redelivery.html">
 | |
|             
 | |
|                     
 | |
|                     Redelivery
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.5" data-path="../../nats_streaming/store-interface.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/store-interface.html">
 | |
|             
 | |
|                     
 | |
|                     Store Interface
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.6" data-path="../../nats_streaming/store-encryption.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/store-encryption.html">
 | |
|             
 | |
|                     
 | |
|                     Store Encryption
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.7" data-path="../../nats_streaming/clustering/clustering.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/clustering/clustering.html">
 | |
|             
 | |
|                     
 | |
|                     Clustering
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="6.7.1" data-path="../../nats_streaming/clustering/supported-stores.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/clustering/supported-stores.html">
 | |
|             
 | |
|                     
 | |
|                     Supported Stores
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.7.2" data-path="../../nats_streaming/clustering/configuration.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/clustering/configuration.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.7.3" data-path="../../nats_streaming/clustering/auto-configuration.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/clustering/auto-configuration.html">
 | |
|             
 | |
|                     
 | |
|                     Auto Configuration
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.7.4" data-path="../../nats_streaming/clustering/containers.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/clustering/containers.html">
 | |
|             
 | |
|                     
 | |
|                     Containers
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.8" data-path="../../nats_streaming/fault-tolerance/ft.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/fault-tolerance/ft.html">
 | |
|             
 | |
|                     
 | |
|                     Fault Tolerance
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="6.8.1" data-path="../../nats_streaming/fault-tolerance/active-server.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/fault-tolerance/active-server.html">
 | |
|             
 | |
|                     
 | |
|                     Active Server
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.8.2" data-path="../../nats_streaming/fault-tolerance/standby-server.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/fault-tolerance/standby-server.html">
 | |
|             
 | |
|                     
 | |
|                     Standby Servers
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.8.3" data-path="../../nats_streaming/fault-tolerance/shared-state.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/fault-tolerance/shared-state.html">
 | |
|             
 | |
|                     
 | |
|                     Shared State
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.8.4" data-path="../../nats_streaming/fault-tolerance/failover.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/fault-tolerance/failover.html">
 | |
|             
 | |
|                     
 | |
|                     Failover
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.9" data-path="../../nats_streaming/partitioning.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/partitioning.html">
 | |
|             
 | |
|                     
 | |
|                     Partitioning
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="6.10" data-path="../../nats_streaming/monitoring/monitoring.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/monitoring/monitoring.html">
 | |
|             
 | |
|                     
 | |
|                     Monitoring
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="6.10.1" data-path="../../nats_streaming/monitoring/endpoints.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/monitoring/endpoints.html">
 | |
|             
 | |
|                     
 | |
|                     Endpoints
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">Developing With NATS Streaming</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="7.1" data-path="../../developer/streaming/">
 | |
|             
 | |
|                 <a href="../../developer/streaming/">
 | |
|             
 | |
|                     
 | |
|                     Introduction
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.2" data-path="../../developer/streaming/connecting.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/connecting.html">
 | |
|             
 | |
|                     
 | |
|                     Connecting to NATS Streaming
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.3" data-path="../../developer/streaming/publishing.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/publishing.html">
 | |
|             
 | |
|                     
 | |
|                     Publishing to a Channel
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.4" data-path="../../developer/streaming/receiving.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/receiving.html">
 | |
|             
 | |
|                     
 | |
|                     Receiving Messages from a Channel
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.5" data-path="../../developer/streaming/durables.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/durables.html">
 | |
|             
 | |
|                     
 | |
|                     Durable Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.6" data-path="../../developer/streaming/queues.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/queues.html">
 | |
|             
 | |
|                     
 | |
|                     Queue Subscriptions
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.7" data-path="../../developer/streaming/acks.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/acks.html">
 | |
|             
 | |
|                     
 | |
|                     Acknowledgements
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="7.8" data-path="../../developer/streaming/protocol.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/protocol.html">
 | |
|             
 | |
|                     
 | |
|                     The Streaming Protocol
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">NATS Streaming Server</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="8.1" data-path="../../nats_streaming/gettingstarted/changes.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/gettingstarted/changes.html">
 | |
|             
 | |
|                     
 | |
|                     Important Changes
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.2" data-path="../../nats_streaming/gettingstarted/install.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/gettingstarted/install.html">
 | |
|             
 | |
|                     
 | |
|                     Installing
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.3" data-path="../../nats_streaming/gettingstarted/run.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/gettingstarted/run.html">
 | |
|             
 | |
|                     
 | |
|                     Running
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4" data-path="../../nats_streaming/configuring/configuring.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/configuring.html">
 | |
|             
 | |
|                     
 | |
|                     Configuring
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.1" data-path="../../nats_streaming/configuring/cmdline.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/cmdline.html">
 | |
|             
 | |
|                     
 | |
|                     Command line arguments
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.2" data-path="../../nats_streaming/configuring/cfgfile.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/cfgfile.html">
 | |
|             
 | |
|                     
 | |
|                     Configuration file
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.3" data-path="../../nats_streaming/configuring/storelimits.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/storelimits.html">
 | |
|             
 | |
|                     
 | |
|                     Store Limits
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.3.1" data-path="../../nats_streaming/configuring/storelimits.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/storelimits.html#limits-inheritance">
 | |
|             
 | |
|                     
 | |
|                     Limits inheritance
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4" data-path="../../nats_streaming/configuring/persistence.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/persistence.html">
 | |
|             
 | |
|                     
 | |
|                     Persistence
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4.1" data-path="../../nats_streaming/configuring/filestore.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/filestore.html">
 | |
|             
 | |
|                     
 | |
|                     File Store
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4.1.1" data-path="../../nats_streaming/configuring/filestore.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/filestore.html#options">
 | |
|             
 | |
|                     
 | |
|                     Options
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4.1.2" data-path="../../nats_streaming/configuring/filestore.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/filestore.html#recovery-errors">
 | |
|             
 | |
|                     
 | |
|                     Recovery Errors
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4.2" data-path="../../nats_streaming/configuring/sqlstore.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/sqlstore.html">
 | |
|             
 | |
|                     
 | |
|                     SQL Store
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4.2.1" data-path="../../nats_streaming/configuring/sqlstore.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/sqlstore.html#read-and-write-timeouts">
 | |
|             
 | |
|                     
 | |
|                     Read and Write Timeouts
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.4.2.2" data-path="../../nats_streaming/configuring/sqlstore.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/sqlstore.html#options">
 | |
|             
 | |
|                     
 | |
|                     Options
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.5" data-path="../../nats_streaming/configuring/tls.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/tls.html">
 | |
|             
 | |
|                     
 | |
|                     Securing
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.5.1" data-path="../../nats_streaming/configuring/tls.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/tls.html#authenticating-users">
 | |
|             
 | |
|                     
 | |
|                     Authenticating Users
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.4.5.2" data-path="../../nats_streaming/configuring/tls.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/configuring/tls.html#using-tls">
 | |
|             
 | |
|                     
 | |
|                     TLS
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.5" data-path="../../nats_streaming/gettingstarted/process-signaling.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/gettingstarted/process-signaling.html">
 | |
|             
 | |
|                     
 | |
|                     Process Signaling
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.6" data-path="../../nats_streaming/gettingstarted/windows-service.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/gettingstarted/windows-service.html">
 | |
|             
 | |
|                     
 | |
|                     Windows Service
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.7" data-path="../../developer/streaming/embedding.html">
 | |
|             
 | |
|                 <a href="../../developer/streaming/embedding.html">
 | |
|             
 | |
|                     
 | |
|                     Embedding NATS Streaming Server
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="8.8" data-path="../../nats_streaming/swarm.html">
 | |
|             
 | |
|                 <a href="../../nats_streaming/swarm.html">
 | |
|             
 | |
|                     
 | |
|                     Docker Swarm
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
|         
 | |
|         <li class="header">NATS Protocol</li>
 | |
|         
 | |
|         
 | |
|     
 | |
|         <li class="chapter " data-level="9.1" data-path="../../nats_protocol/nats-protocol-demo.html">
 | |
|             
 | |
|                 <a href="../../nats_protocol/nats-protocol-demo.html">
 | |
|             
 | |
|                     
 | |
|                     Protocol Demo
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="9.2" data-path="../../nats_protocol/nats-protocol.html">
 | |
|             
 | |
|                 <a href="../../nats_protocol/nats-protocol.html">
 | |
|             
 | |
|                     
 | |
|                     Client Protocol
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|             <ul class="articles">
 | |
|                 
 | |
|     
 | |
|         <li class="chapter " data-level="9.2.1" data-path="../../nats_protocol/nats-client-dev.html">
 | |
|             
 | |
|                 <a href="../../nats_protocol/nats-client-dev.html">
 | |
|             
 | |
|                     
 | |
|                     Developing a Client
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|             </ul>
 | |
|             
 | |
|         </li>
 | |
|     
 | |
|         <li class="chapter " data-level="9.3" data-path="../../nats_protocol/nats-server-protocol.html">
 | |
|             
 | |
|                 <a href="../../nats_protocol/nats-server-protocol.html">
 | |
|             
 | |
|                     
 | |
|                     NATS Cluster Protocol
 | |
|             
 | |
|                 </a>
 | |
|             
 | |
| 
 | |
|             
 | |
|         </li>
 | |
|     
 | |
| 
 | |
|     
 | |
| 
 | |
|     <li class="divider"></li>
 | |
| 
 | |
|     <li>
 | |
|         <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
 | |
|             Published with GitBook
 | |
|         </a>
 | |
|     </li>
 | |
| </ul>
 | |
| 
 | |
| 
 | |
|                 </nav>
 | |
|             
 | |
|         
 | |
|     </div>
 | |
| 
 | |
|     <div class="book-body">
 | |
|         
 | |
|             <div class="body-inner">
 | |
|                 
 | |
|                     
 | |
| 
 | |
| <div class="book-header" role="navigation">
 | |
|     
 | |
| 
 | |
|     <!-- Title -->
 | |
|     <h1>
 | |
|         <i class="fa fa-circle-o-notch fa-spin"></i>
 | |
|         <a href="../.." >Basics</a>
 | |
|     </h1>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|                     <div class="page-wrapper" tabindex="-1" role="main">
 | |
|                         <div class="page-inner">
 | |
|                             
 | |
| <div id="book-search-results">
 | |
|     <div class="search-noresults">
 | |
|     
 | |
|                                 <section class="normal markdown-section">
 | |
|                                 
 | |
|                                 <h2 id="configuration"><a name="configuration" class="plugin-anchor" href="#configuration"><i class="fa fa-link" aria-hidden="true"></i></a>Configuration</h2>
 | |
| <p>Basic configuration revolves around 4 settings:</p>
 | |
| <ul>
 | |
| <li>The store to read JWTs from</li>
 | |
| <li>The HTTP/S configuration</li>
 | |
| <li>NATS (for cases where updates are enabled)</li>
 | |
| <li>Logging</li>
 | |
| </ul>
 | |
| <p>For complete information on please refer to the project's <a href="https://github.com/nats-io/nats-account-server" target="_blank">Github</a>.</p>
 | |
| <h3 id="nsc-configuration"><a name="nsc-configuration" class="plugin-anchor" href="#nsc-configuration"><i class="fa fa-link" aria-hidden="true"></i></a><code>nsc</code> Configuration</h3>
 | |
| <p>For a basic usage of the server you can specify the <code>-nsc</code> flag, and specify the path to an operator in your environment.</p>
 | |
| <blockquote>
 | |
| <p>If you have not yet created an operator or accounts, you'll need to do so before continuing. See <a href="../nsc/">NSC</a></p>
 | |
| </blockquote>
 | |
| <p>You can easily locate the path by running <code>nsc env</code> to print your <code>nsc</code> settings:</p>
 | |
| <pre class="language-"><code class="lang-text">> nsc env
 | |
| ╭──────────────────────────────────────────╮
 | |
| │             NSC Environment              │
 | |
| ├──────────────────┬─────┬─────────────────┤
 | |
| │ Setting          │ Set │ Effective Value │
 | |
| ├──────────────────┼─────┼─────────────────┤
 | |
| │ $NKEYS_PATH      │ No  │ ~/.nkeys        │
 | |
| │ $NSC_HOME        │ No  │ ~/.nsc          │
 | |
| │ Config           │     │ ~/.nsc/nsc.json │
 | |
| ├──────────────────┼─────┼─────────────────┤
 | |
| │ Stores Dir       │     │ ~/.nsc/nats     │
 | |
| │ Default Operator │     │ Test            │
 | |
| │ Default Account  │     │ TestAccount     │
 | |
| │ Default Cluster  │     │                 │
 | |
| ╰──────────────────┴─────┴─────────────────╯
 | |
| </code></pre>
 | |
| <p>The path you are interested in the <code>Stores Dir</code>. This is the root of all operators, you'll also need the name of your operator. If your current operator is not listed, you can list all your available operators by doing:</p>
 | |
| <pre class="language-"><code class="lang-text">> nsc list operators
 | |
| </code></pre>
 | |
| <p>To start the <code>nats-account-server</code> with the operator <code>Test</code>:</p>
 | |
| <pre class="language-"><code class="lang-text">> nats-account-server -nsc ~/.nsc/nats/Test
 | |
| 2019/05/10 11:22:41.845148 [INF] starting NATS Account server, version 0.0-dev
 | |
| 2019/05/10 11:22:41.845241 [INF] server time is Fri May 10 11:22:41 CDT 2019
 | |
| 2019/05/10 11:22:41.845245 [INF] loading operator from /Users/synadia/.nsc/nats/Test/Test.jwt
 | |
| 2019/05/10 11:22:41.846367 [INF] creating a read-only store for the NSC folder at /Users/synadia/.nsc/nats/Test
 | |
| 2019/05/10 11:22:41.846459 [INF] NATS is not configured, server will not fire notifications on update
 | |
| 2019/05/10 11:22:41.855291 [INF] http listening on port 9090
 | |
| 2019/05/10 11:22:41.855301 [INF] nats-account-server is running
 | |
| 2019/05/10 11:22:41.855303 [INF] configure the nats-server with:
 | |
| 2019/05/10 11:22:41.855306 [INF]   resolver: URL(http://localhost:9090/jwt/v1/accounts/)
 | |
| </code></pre>
 | |
| <p>By default the server will serve JWTs on the localhost at port 9090. The last line in the shown in the printout is important, that is the resolver URL you'll have to provide on your NATS server configuration. You'll also need the matching operator JWT which is on <code>~/.nsc/nats/Test/Test.jwt</code> if you are following the example above. On the server configuration you'll need to expand the <code>~</code> as necessary. Here's what my NATS server configuration looks like:</p>
 | |
| <pre class="language-"><code class="lang-text">operator: /Users/synadia/.nsc/nats/Test/Test.jwt
 | |
| resolver: URL(http://localhost:9090/jwt/v1/accounts/)
 | |
| </code></pre>
 | |
| <p>Note that servers you create with the <code>-nsc</code> option (or store option) are read-only. This means that the server will not accept POST requests to update the JWT store.</p>
 | |
| <h3 id="directory-configuration"><a name="directory-configuration" class="plugin-anchor" href="#directory-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>Directory Configuration</h3>
 | |
| <p>You can start a server using a plain directory. In this case you'll be responsible for adding any JWT that you want resolved. </p>
 | |
| <blockquote>
 | |
| <p>The server looks for account JWTs by using the public key of the account as the file name followed by the extension <code>.jwt</code>. The server will not introspect the JWTs, so if you don't name the files correctly, it will fail to find them or serve a JWT that doesn't match the requested account.</p>
 | |
| </blockquote>
 | |
| <pre class="language-"><code class="lang-text">> mkdir /tmp/jwts
 | |
| nats-account-server -dir /tmp/jwts
 | |
| 2019/05/10 11:33:40.501305 [INF] starting NATS Account server, version 0.0-dev
 | |
| 2019/05/10 11:33:40.501383 [INF] server time is Fri May 10 11:33:40 CDT 2019
 | |
| 2019/05/10 11:33:40.501404 [INF] creating a store at /tmp/jwts
 | |
| 2019/05/10 11:33:40.501430 [INF] NATS is not configured, server will not fire notifications on update
 | |
| 2019/05/10 11:33:40.510273 [INF] http listening on port 9090
 | |
| 2019/05/10 11:33:40.510283 [INF] nats-account-server is running
 | |
| 2019/05/10 11:33:40.510285 [INF] configure the nats-server with:
 | |
| 2019/05/10 11:33:40.510291 [INF]   resolver: URL(http://localhost:9090/jwt/v1/accounts/)
 | |
| </code></pre>
 | |
| <p>Configuration for the NATS server is the same as in the previous example:</p>
 | |
| <pre class="language-"><code class="lang-text">operator: /Users/synadia/.nsc/nats/Test/Test.jwt
 | |
| resolver: URL(http://localhost:9090/jwt/v1/accounts/)
 | |
| </code></pre>
 | |
| <h3 id="configuration-file"><a name="configuration-file" class="plugin-anchor" href="#configuration-file"><i class="fa fa-link" aria-hidden="true"></i></a>Configuration File</h3>
 | |
| <p>While the <code>-nsc</code> and <code>-dir</code> store flags are sufficient for some very simple developer setups, any production or non-read-only server will require a configuration file.</p>
 | |
| <p>Let's take a look at the configuration options:</p>
 | |
| <h4 id="configuration-options"><a name="configuration-options" class="plugin-anchor" href="#configuration-options"><i class="fa fa-link" aria-hidden="true"></i></a>Configuration Options</h4>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th style="text-align:left">Option</th>
 | |
| <th style="text-align:left">Description</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>http</code></td>
 | |
| <td style="text-align:left">An <code>http</code> configuration block specifying HTTP options.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>logging</code></td>
 | |
| <td style="text-align:left">A <code>logging</code> configuration block specifying server logging options.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>nats</code></td>
 | |
| <td style="text-align:left">A <code>nats</code> configuration block specifying NATS connection information for the account server to push JWT changes to a NATS server.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>operatorjwtpath</code></td>
 | |
| <td style="text-align:left">The path to an operator JWT. Required for non-read-only servers. Only JWTs signed by the operator (or one of it's signing keys) are accepted.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>store</code></td>
 | |
| <td style="text-align:left">A <code>store</code> configuration block specifying store options.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>systemaccountjwtpath</code></td>
 | |
| <td style="text-align:left">Path to an Account JWT that should be returned as the system account.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>primary</code></td>
 | |
| <td style="text-align:left">URL for the primary, <code>protocol://host:port</code>.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>replicationtimeout</code></td>
 | |
| <td style="text-align:left">Timeout, in milliseconds, used by the replica when talking to the primary, defaults to <code>5000</code>.</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| <h4 id="store-configuration"><a name="store-configuration" class="plugin-anchor" href="#store-configuration"><i class="fa fa-link" aria-hidden="true"></i></a><code>store</code> Configuration</h4>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th style="text-align:left">Option</th>
 | |
| <th style="text-align:left">Description</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>dir</code></td>
 | |
| <td style="text-align:left">Configures a directory as a store.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>nsc</code></td>
 | |
| <td style="text-align:left">Configures an nsc read-only store. The value should be the path to an operator <em>directory</em>. Option is mutually exlusive with <code>dir</code>.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>readonly</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, the store will not accept POST requests. Note that to receive requests, the store must also have <code>operatorjwtpath</code> specified as a root option.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>shard</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, JWTs are sharded in the store directory.</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| <h3 id="logging-options"><a name="logging-options" class="plugin-anchor" href="#logging-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>logging</code> Options</h3>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th style="text-align:left">Option</th>
 | |
| <th style="text-align:left">Description</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>time</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, a timestamp is added to log messages.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>debug</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, debug messages are logged.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>trace</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, trace messages are logged.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>colors</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, messages are logged using ANSI color escape sequences.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>pid</code></td>
 | |
| <td style="text-align:left">If <code>true</code>, the process id for the server is added to log messages.</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| <h3 id="http-options"><a name="http-options" class="plugin-anchor" href="#http-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>http</code> Options</h3>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th style="text-align:left">Option</th>
 | |
| <th style="text-align:left">Description</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>host</code></td>
 | |
| <td style="text-align:left">Interface to listen for requests on.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>port</code></td>
 | |
| <td style="text-align:left">Port to listen for requests on.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>readtimeout</code></td>
 | |
| <td style="text-align:left">Max amount of time in milliseconds to wait for a http read operation to complete.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>writetimeout</code></td>
 | |
| <td style="text-align:left">Max amount of time in milliseconds to wait for a http write operation to complete.</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| <h3 id="nats-options"><a name="nats-options" class="plugin-anchor" href="#nats-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>nats</code> Options</h3>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th style="text-align:left">Option</th>
 | |
| <th style="text-align:left">Description</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>servers</code></td>
 | |
| <td style="text-align:left">List of NATS servers for the account server to use when connecting to a NATS server to publish updates.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>connecttimeout</code></td>
 | |
| <td style="text-align:left">Max amount of time in milliseconds to wait for a NATS connection.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>reconnecttimewait</code></td>
 | |
| <td style="text-align:left">Amount of time in milliseconds to between NATS server reconnect attempts.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>tls</code></td>
 | |
| <td style="text-align:left">A <code>tls</code> configuration block.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>usercredentials</code></td>
 | |
| <td style="text-align:left">A credentials <em>creds</em> file for connecting to the NATS server. Account must be a member of a system account.</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| <h3 id="tls-options"><a name="tls-options" class="plugin-anchor" href="#tls-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>tls</code> Options</h3>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th style="text-align:left">Option</th>
 | |
| <th style="text-align:left">Description</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>root</code></td>
 | |
| <td style="text-align:left">filepath to the CA certificate.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>cert</code></td>
 | |
| <td style="text-align:left">filepath to the certificate.</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td style="text-align:left"><code>cert</code></td>
 | |
| <td style="text-align:left">filepath to the certificate key.</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| 
 | |
|                                 
 | |
|                                 </section>
 | |
|                             
 | |
|     </div>
 | |
|     <div class="search-results">
 | |
|         <div class="has-results">
 | |
|             
 | |
|             <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
 | |
|             <ul class="search-results-list"></ul>
 | |
|             
 | |
|         </div>
 | |
|         <div class="no-results">
 | |
|             
 | |
|             <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
 | |
|             
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 
 | |
|             </div>
 | |
| 
 | |
|             
 | |
|                 
 | |
|                 <a href="./" class="navigation navigation-prev " aria-label="Previous page: nats-account-server">
 | |
|                     <i class="fa fa-angle-left"></i>
 | |
|                 </a>
 | |
|                 
 | |
|                 
 | |
|                 <a href="inspecting_jwts.html" class="navigation navigation-next " aria-label="Next page: Inspecting JWTs">
 | |
|                     <i class="fa fa-angle-right"></i>
 | |
|                 </a>
 | |
|                 
 | |
|             
 | |
|         
 | |
|     </div>
 | |
| 
 | |
|     <script>
 | |
|         var gitbook = gitbook || [];
 | |
|         gitbook.push(function() {
 | |
|             gitbook.page.hasChanged({"page":{"title":"Basics","level":"5.4.1","depth":2,"next":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},"previous":{"title":"nats-account-server","level":"5.4","depth":1,"path":"nats_tools/nas/README.md","ref":"nats_tools/nas/README.md","articles":[{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/nas_conf.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-27T21:13:11.925Z"},"basePath":"../..","book":{"language":""}});
 | |
|         });
 | |
|     </script>
 | |
| </div>
 | |
| 
 | |
| <!-- Viz Support -->
 | |
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
 | |
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
 | |
| 
 | |
| <!-- Site code -->
 | |
| <script>
 | |
|     function flash(elem, text, speed) {
 | |
|         if (!elem) {
 | |
|             return;
 | |
|         }
 | |
|         var s = elem.style;
 | |
|         elem.textContent = text;
 | |
|         s.display = 'block';
 | |
|         s.opacity = 1;
 | |
|         (function fade() {
 | |
|             (s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
 | |
|         })();
 | |
|     }
 | |
| 
 | |
|     function copyToClipboard(text, el) {
 | |
|         var copyTest = document.queryCommandSupported('copy');
 | |
|         var elOriginalText = el.getAttribute('data-original-title');
 | |
| 
 | |
|         if (copyTest === true) {
 | |
|             var copyTextArea = document.createElement("textarea");
 | |
|             copyTextArea.value = text;
 | |
|             document.body.appendChild(copyTextArea);
 | |
|             copyTextArea.select();
 | |
|             try {
 | |
|                 var successful = document.execCommand('copy');
 | |
|                 var msg = successful ? 'Copied!' : 'Whoops, not copied!';
 | |
|                 var parent = el.parentNode.parentNode;
 | |
|                 var msgElem = parent.querySelector(".copy-msg");
 | |
|                 flash(msgElem, msg, 100);
 | |
|             } catch (err) {
 | |
|                 console.log('Oops, unable to copy', err);
 | |
|             }
 | |
|             document.body.removeChild(copyTextArea);
 | |
|             el.setAttribute('data-original-title', elOriginalText);
 | |
|         } else {
 | |
|             // Fallback if browser doesn't support .execCommand('copy')
 | |
|             window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function processGraphVizSections(elements) {
 | |
|         var elements = document.querySelectorAll("[data-viz]");
 | |
|         var viz = new Viz();
 | |
|         Array.prototype.forEach.call(elements, function (x) {
 | |
|             var engine = x.getAttribute("data-viz");
 | |
|             var image = viz.renderImageElement(x.innerText, {
 | |
|                 format: "png",
 | |
|                 engine: engine
 | |
|             }).then(function (element) {
 | |
|                 x.parentNode.insertBefore(element, x);
 | |
|             });
 | |
|         });
 | |
| 
 | |
| 
 | |
|     };
 | |
| 
 | |
|     function updateLanguageParameter(value) {
 | |
|         const param = "lang";
 | |
| 
 | |
|         if (window.location.href.indexOf("?") >= 0) {
 | |
|             const regExp = new RegExp(param + "(.+?)(&|$)", "g");
 | |
|             const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
 | |
|             window.history.pushState("", "", newUrl);
 | |
|         } else {
 | |
|             const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
 | |
|             window.history.pushState("", "", newUrl);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function getLanguageParameter() {
 | |
|         var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
 | |
|         return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
 | |
|     }
 | |
| 
 | |
|     function docReady() {
 | |
|         window.gitbook.events.bind("page.change", function () {
 | |
|             pageChanged();
 | |
|         });
 | |
| 
 | |
|         var searchInput = document.querySelector('#book-search-input input');
 | |
| 
 | |
|         if (searchInput) {
 | |
|             searchInput.addEventListener('keyup', function(event) {
 | |
|                 if (event.keyCode === 13) {
 | |
|                     event.target.blur();
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function pageChanged() {
 | |
|         var logos = document.querySelectorAll(".nats");
 | |
|         if (logos && logos.length == 0) {
 | |
|             gitbook.toolbar.createButton({
 | |
|                 icon: 'nats',
 | |
|                 label: 'NATS Home Page',
 | |
|                 position: 'right',
 | |
|                 onClick: function () {
 | |
|                     var win = window.open("https://nats.io/", '_blank');
 | |
|                     win.focus();
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         document.querySelectorAll('.js-copy').forEach(elem => {
 | |
|             elem.addEventListener("click", function () {
 | |
|                 var el = this;
 | |
|                 var parent = this.parentNode.parentNode;
 | |
|                 var code = parent.querySelector('code');
 | |
|                 var text = code.textContent || code.innerText;
 | |
|                 copyToClipboard(text, el);
 | |
|             })
 | |
|         });
 | |
| 
 | |
|         document.querySelectorAll('.api-lang').forEach(elem => {
 | |
|             elem.addEventListener("click", function () {
 | |
|                 var curLang = sessionStorage.getItem('nats-api-language');
 | |
|                 var lang = this.getAttribute('data-language');
 | |
| 
 | |
|                 // Stop the infinite loop
 | |
|                 if (curLang == lang) {
 | |
|                     return;
 | |
|                 }
 | |
| 
 | |
|                 sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
 | |
| 
 | |
|                 updateLanguageParameter(lang)
 | |
| 
 | |
|                 document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
 | |
|                     elem.click();
 | |
|                 });
 | |
|             })
 | |
|         });
 | |
| 
 | |
|         if (sessionStorage) {
 | |
|             var curLang = sessionStorage.getItem('nats-api-language');
 | |
|             var queryLang = getLanguageParameter();
 | |
|             var lang = curLang;
 | |
| 
 | |
|             if (queryLang) { // query takes precedent
 | |
|                 lang = queryLang
 | |
|             }
 | |
| 
 | |
|             if (lang) {
 | |
|                 document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
 | |
|                     elem.click();
 | |
|                 });
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         setTimeout(function () {
 | |
|             processGraphVizSections();
 | |
|         }, 1);
 | |
|     }
 | |
| 
 | |
| 
 | |
|     if (document.readyState != 'loading') docReady();
 | |
|     else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
 | |
|     else document.attachEvent('onreadystatechange', function () {
 | |
|         if (document.readyState == 'complete') docReady();
 | |
|     });
 | |
| </script>
 | |
| 
 | |
| <!-- Github Buttons -->
 | |
| <script async defer src="https://buttons.github.io/buttons.js"></script>
 | |
| 
 | |
| <!-- Styles -->
 | |
| <style>
 | |
|     .nats {
 | |
|         display: inline-block;
 | |
|         width: 16px;
 | |
|         height: 16px;
 | |
|         background: url(https://nats.io/img/nats-icon-color.svg);
 | |
|         background-size: 16px 16px;
 | |
|         background-repeat: no-repeat;
 | |
|     }
 | |
| 
 | |
|     div.graphviz {
 | |
|         background: transparent;
 | |
|         border: 0;
 | |
|         padding-top: 15px;
 | |
|         padding-right: 15px;
 | |
|         padding-bottom: 25px;
 | |
|         padding-left: 15px;
 | |
|         text-align: center;
 | |
|     }
 | |
| 
 | |
|     code[data-viz] {
 | |
|         display: none;
 | |
|     }
 | |
| 
 | |
|     .tab-wrap {
 | |
|         transition: 0.3s box-shadow ease;
 | |
|         border-radius: 6px;
 | |
|         max-width: 100%;
 | |
|         display: flex;
 | |
|         flex-wrap: wrap;
 | |
|         position: relative;
 | |
|         list-style: none;
 | |
|         background-color: #fff;
 | |
|         margin: 20px 0;
 | |
|         /* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
 | |
|     }
 | |
| 
 | |
|     .tab-wrap:hover {
 | |
|         box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
 | |
|     }
 | |
| 
 | |
|     .tab {
 | |
|         display: none;
 | |
|     }
 | |
| 
 | |
|     /* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
 | |
|     .tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
 | |
|         opacity: 1;
 | |
|         transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease;
 | |
|         transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
 | |
|         position: relative;
 | |
|         top: 0;
 | |
|         z-index: 100;
 | |
|         -webkit-transform: translateY(0px);
 | |
|         transform: translateY(0px);
 | |
|         text-shadow: 0 0 0;
 | |
|     }
 | |
| 
 | |
|     .tab:first-of-type:not(:last-of-type)+label {
 | |
|         border-top-right-radius: 0;
 | |
|         border-bottom-right-radius: 0;
 | |
|     }
 | |
| 
 | |
|     .tab:not(:first-of-type):not(:last-of-type)+label {
 | |
|         border-radius: 0;
 | |
|     }
 | |
| 
 | |
|     .tab:last-of-type:not(:first-of-type)+label {
 | |
|         border-top-left-radius: 0;
 | |
|         border-bottom-left-radius: 0;
 | |
|     }
 | |
| 
 | |
|     .tab:checked+label {
 | |
|         background-color: #fff;
 | |
|         box-shadow: 0 -1px 0 #fff inset;
 | |
|         cursor: default;
 | |
|         font-weight: bold;
 | |
|         border: 1px solid #ddd;
 | |
|         border-bottom-color: transparent;
 | |
|     }
 | |
| 
 | |
|     .tab:checked+label:hover {
 | |
|         box-shadow: 0 -1px 0 #fff inset;
 | |
|         background-color: #fff;
 | |
|     }
 | |
| 
 | |
|     .tab+label {
 | |
|         box-shadow: 0 -1px 0 #eee inset;
 | |
|         border-radius: 6px 6px 0 0;
 | |
|         cursor: pointer;
 | |
|         display: block;
 | |
|         text-decoration: none;
 | |
|         color: #27aae1;
 | |
|         flex-grow: 3;
 | |
|         text-align: center;
 | |
|         -webkit-user-select: none;
 | |
|         -moz-user-select: none;
 | |
|         -ms-user-select: none;
 | |
|         user-select: none;
 | |
|         text-align: center;
 | |
|         transition: 0.3s background-color ease, 0.3s box-shadow ease;
 | |
|         height: 50px;
 | |
|         box-sizing: border-box;
 | |
|         padding: 15px;
 | |
|     }
 | |
| 
 | |
|     .tab+label:hover {
 | |
|         background-color: #f9f9f9;
 | |
|         box-shadow: 0 1px 0 #f4f4f4 inset;
 | |
|     }
 | |
| 
 | |
|     .tab__content {
 | |
|         padding: 2px 2px;
 | |
|         background-color: transparent;
 | |
|         position: absolute;
 | |
|         width: 100%;
 | |
|         z-index: -1;
 | |
|         opacity: 0;
 | |
|         left: 0;
 | |
|         -webkit-transform: translateY(-3px);
 | |
|         transform: translateY(-3px);
 | |
|         border-radius: 6px;
 | |
|     }
 | |
| 
 | |
|     .tab__content pre {
 | |
|         margin-bottom: 0px !important;
 | |
|     }
 | |
| 
 | |
|     .toolbar-icons {
 | |
|         display: inline-block;
 | |
|         position: relative;
 | |
|         padding-left: 4px;
 | |
|     }
 | |
| 
 | |
|     a.toolbar-icons {
 | |
|         text-decoration: none;
 | |
|     }
 | |
| 
 | |
|     .toolbar-icons .mdi {
 | |
|         color: #4183c4;
 | |
|     }
 | |
| 
 | |
|     .copy-msg {
 | |
|         color: #4183c4;
 | |
|     }
 | |
| 
 | |
|     .pull-right {
 | |
|         float: right !important;
 | |
|     }
 | |
| 
 | |
|     .pull-left {
 | |
|         float: left !important;
 | |
|     }
 | |
| </style>
 | |
| <!-- Global site tag (gtag.js) - Google Analytics -->
 | |
| <script async src="https://www.googletagmanager.com/gtag/js?id=UA-111730698-1"></script>
 | |
| <script>
 | |
|  window.dataLayer = window.dataLayer || [];
 | |
|  function gtag(){dataLayer.push(arguments);}
 | |
|  gtag('js', new Date());
 | |
| 
 | |
|  gtag('config', 'UA-111730698-1');
 | |
| </script>
 | |
| 
 | |
|         
 | |
|     <script src="../../gitbook/gitbook.js"></script>
 | |
|     <script src="../../gitbook/theme.js"></script>
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-toggle-chapters/toggle.js"></script>
 | |
|         
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
 | |
|         
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-search/search-engine.js"></script>
 | |
|         
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-search/search.js"></script>
 | |
|         
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
 | |
|         
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
 | |
|         
 | |
|     
 | |
|         
 | |
|         <script src="../../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
 | |
|         
 | |
|     
 | |
| 
 | |
|     </body>
 | |
| </html>
 | |
| 
 |