def __init__(self, next_provider, sink_properties, global_properties):
    endpoint = global_properties[SinkProperties.Endpoint]
    name = global_properties[SinkProperties.Label]

    self._cache = deque()
    self._waiters = deque()
    self._min_size = sink_properties.min_watermark
    self._max_size = sink_properties.max_watermark
    self._max_queue_size = sink_properties.max_queue_len
    self._current_size = 0
    self._state = ChannelState.Idle
    socket_name = '%s:%s' % (endpoint.host, endpoint.port)
    self.endpoint = socket_name
    self._varz = self.Varz(Source(service=name,
                                  endpoint=socket_name))
    self._log = self.ROOT_LOG.getChild('[%s.%s]' % (name, socket_name))
    super(WatermarkPoolSink, self).__init__(next_provider, global_properties)
dataset/ETHPy150Open steveniemitz/scales/scales/pool/watermark.py/WatermarkPoolSink.__init__/original