public class org.apache.kafkaesque.clients.producer.internals.ProducerMetadata extends org.apache.kafkaesque.clients.Metadata
{
private final long metadataIdleMs;
private final java.util.Map topics;
private final java.util.Set newTopics;
private final org.slf4j.Logger log;
private final org.apache.kafkaesque.common.utils.Time time;
public void <init>(long, long, long, org.apache.kafkaesque.common.utils.LogContext, org.apache.kafkaesque.common.internals.ClusterResourceListeners, org.apache.kafkaesque.common.utils.Time)
{
org.apache.kafkaesque.common.internals.ClusterResourceListeners v;
org.apache.kafkaesque.common.utils.LogContext v;
org.slf4j.Logger v;
java.util.HashMap v;
long v, v, v;
java.util.HashSet v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
org.apache.kafkaesque.common.utils.Time v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v := @parameter: org.apache.kafkaesque.common.utils.LogContext;
v := @parameter: org.apache.kafkaesque.common.internals.ClusterResourceListeners;
v := @parameter: org.apache.kafkaesque.common.utils.Time;
specialinvoke v.<org.apache.kafkaesque.clients.Metadata: void <init>(long,long,org.apache.kafkaesque.common.utils.LogContext,org.apache.kafkaesque.common.internals.ClusterResourceListeners)>(v, v, v, v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics> = v;
v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: long metadataIdleMs> = v;
v = virtualinvoke v.<org.apache.kafkaesque.common.utils.LogContext: org.slf4j.Logger logger(java.lang.Class)>(class "Lorg/apache/kafkaesque/clients/producer/internals/ProducerMetadata;");
v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: org.slf4j.Logger log> = v;
v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: org.apache.kafkaesque.common.utils.Time time> = v;
return;
}
public synchronized org.apache.kafkaesque.common.requests.MetadataRequest$Builder newMetadataRequestBuilder()
{
org.apache.kafkaesque.common.requests.MetadataRequest$Builder v;
java.util.Map v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
java.util.Set v;
java.util.ArrayList v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v = new org.apache.kafkaesque.common.requests.MetadataRequest$Builder;
v = new java.util.ArrayList;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
specialinvoke v.<org.apache.kafkaesque.common.requests.MetadataRequest$Builder: void <init>(java.util.List,boolean)>(v, 1);
return v;
}
public synchronized org.apache.kafkaesque.common.requests.MetadataRequest$Builder newMetadataRequestBuilderForNewTopics()
{
org.apache.kafkaesque.common.requests.MetadataRequest$Builder v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
java.util.Set v;
java.util.ArrayList v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v = new org.apache.kafkaesque.common.requests.MetadataRequest$Builder;
v = new java.util.ArrayList;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
specialinvoke v.<org.apache.kafkaesque.common.requests.MetadataRequest$Builder: void <init>(java.util.List,boolean)>(v, 1);
return v;
}
public synchronized void add(java.lang.String, long)
{
java.util.Set v;
long v, v, v;
java.lang.Long v;
java.util.Map v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: java.lang.String;
v := @parameter: long;
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "topic cannot be null");
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics>;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: long metadataIdleMs>;
v = v + v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
virtualinvoke v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: int requestUpdateForNewTopics()>();
label:
return;
}
public synchronized int requestUpdateForTopic(java.lang.String)
{
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
int v, v;
java.util.Set v;
java.lang.String v;
boolean v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: int requestUpdateForNewTopics()>();
return v;
label:
v = virtualinvoke v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: int requestUpdate()>();
return v;
}
synchronized java.util.Set topics()
{
java.util.Set v;
java.util.Map v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
return v;
}
synchronized java.util.Set newTopics()
{
java.util.Set v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
return v;
}
public synchronized boolean containsTopic(java.lang.String)
{
java.util.Map v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
java.lang.String v;
boolean v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
return v;
}
public synchronized boolean retainTopic(java.lang.String, boolean, long)
{
java.lang.Object[] v;
org.slf4j.Logger v;
java.util.Set v;
long v, v;
byte v;
java.lang.Long v;
java.util.Map v, v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
java.lang.Object v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: long;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
return 0;
label:
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v > 0 goto label;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Removing unused topic {} from the metadata list, expiryMs {} now {}", v);
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Map topics>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
return 0;
label:
return 1;
}
public synchronized void awaitUpdate(int, long) throws java.lang.InterruptedException
{
long v, v, v, v;
java.util.function.Supplier v;
byte v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
int v;
org.apache.kafkaesque.common.KafkaException v;
org.apache.kafkaesque.common.utils.Time v, v;
boolean v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: int;
v := @parameter: long;
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: org.apache.kafkaesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesque.common.utils.Time: long milliseconds()>();
v = v + v;
v = v cmp 0L;
if v >= 0 goto label;
v = 9223372036854775807L;
goto label;
label:
v = v + v;
label:
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: org.apache.kafkaesque.common.utils.Time time>;
v = staticinvoke <org.apache.kafkaesque.clients.producer.internals.ProducerMetadata$lambda_awaitUpdate_0__95: java.util.function.Supplier bootstrap$(org.apache.kafkaesque.clients.producer.internals.ProducerMetadata,int)>(v, v);
interfaceinvoke v.<org.apache.kafkaesque.common.utils.Time: void waitObject(java.lang.Object,java.util.function.Supplier,long)>(v, v, v);
v = virtualinvoke v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: boolean isClosed()>();
if v == 0 goto label;
v = new org.apache.kafkaesque.common.KafkaException;
specialinvoke v.<org.apache.kafkaesque.common.KafkaException: void <init>(java.lang.String)>("Requested metadata update after close");
throw v;
label:
return;
}
public synchronized void update(int, org.apache.kafkaesque.common.requests.MetadataResponse, boolean, long)
{
java.util.Iterator v;
java.util.Collection v;
java.util.Set v, v;
long v;
org.apache.kafkaesque.common.requests.MetadataResponse v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
int v;
java.lang.Object v;
java.lang.String v;
boolean v, v, v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: int;
v := @parameter: org.apache.kafkaesque.common.requests.MetadataResponse;
v := @parameter: boolean;
v := @parameter: long;
specialinvoke v.<org.apache.kafkaesque.clients.Metadata: void update(int,org.apache.kafkaesque.common.requests.MetadataResponse,boolean,long)>(v, v, v, v);
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesque.common.requests.MetadataResponse: java.util.Collection topicMetadata()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.kafkaesque.clients.producer.internals.ProducerMetadata: java.util.Set newTopics>;
v = virtualinvoke v.<org.apache.kafkaesque.common.requests.MetadataResponse$TopicMetadata: java.lang.String topic()>();
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<java.lang.Object: void notifyAll()>();
return;
}
public synchronized void fatalError(org.apache.kafkaesque.common.KafkaException)
{
org.apache.kafkaesque.common.KafkaException v;
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
v := @parameter: org.apache.kafkaesque.common.KafkaException;
specialinvoke v.<org.apache.kafkaesque.clients.Metadata: void fatalError(org.apache.kafkaesque.common.KafkaException)>(v);
virtualinvoke v.<java.lang.Object: void notifyAll()>();
return;
}
public synchronized void close()
{
org.apache.kafkaesque.clients.producer.internals.ProducerMetadata v;
v := @this: org.apache.kafkaesque.clients.producer.internals.ProducerMetadata;
specialinvoke v.<org.apache.kafkaesque.clients.Metadata: void close()>();
virtualinvoke v.<java.lang.Object: void notifyAll()>();
return;
}
}