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()