class ZkAnnouncer extends Announcer
When announcing an endpoint with additional endpoints they all need to join the path together. However, announcements are decoupled and can happen in any order. The ZkAnnouncer will gather endpoints together in order to announce them as a group. Main endpoints are required and are thus announced immediately while additional endpoints are only announced if the path also has a main endpoint. For this reason if a main endpoint is announced first and an additional endpoint announced later, the announcer must leave the path and re-announce. The process is similar: leave the path, then remove either the additional endpoint or the main endpoint, re-join only if the main endpoint exists. Also it is also
- Self Type
- ZkAnnouncer
- Note
- Requiring the shardId in some of the announce methods is an unfortunate artifact of the implementation of ServerSets. For most uses setting it to 0 is sufficient. ,- announcing multiple endpoints can happen in two different ways. One by calling announce separately for each endpoint as mentioned above, and another by calling announce and passing additionalEndpoints to it directly in the same method call. 
- Alphabetic
- By Inheritance
- ZkAnnouncer
- Announcer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-    def announce(ia: InetSocketAddress, addr: String, metadata: Map[String, String], additionalEndpoints: Map[String, InetSocketAddress]): Future[Announcement]- additionalEndpoints
- if this is non-empty these endpoints are announced along with the primary addr 
 
-  def announce(ia: InetSocketAddress, addr: String, metadata: Map[String, String]): Future[Announcement]
-    def announce(ia: InetSocketAddress, addr: String): Future[Announcement]- Definition Classes
- ZkAnnouncer → Announcer
 
-    def announce(client: ZooKeeperClient, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String], additionalEndpoints: Map[String, InetSocketAddress]): Future[Announcement]- additionalEndpoints
- if this is non-empty these endpoints are announced along with the primary addr 
 
-  def announce(client: ZooKeeperClient, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String]): Future[Announcement]
-  def announce(client: ZooKeeperClient, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String]): Future[Announcement]
-    def announce(hosts: String, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String], additionalEndpoints: Map[String, InetSocketAddress]): Future[Announcement]- additionalEndpoints
- if this is non-empty these endpoints are announced along with the primary addr 
 
-  def announce(hosts: String, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String]): Future[Announcement]
-  def announce(hosts: String, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String]): Future[Announcement]
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-    val scheme: String- Definition Classes
- ZkAnnouncer → Announcer
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()