public class org.apache.qpid.proton.engine.impl.SenderImpl extends org.apache.qpid.proton.engine.impl.LinkImpl implements org.apache.qpid.proton.engine.Sender
{
private int _offered;
private org.apache.qpid.proton.engine.impl.TransportSender _transportLink;
void <init>(org.apache.qpid.proton.engine.impl.SessionImpl, java.lang.String)
{
java.lang.String v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.engine.impl.SessionImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: org.apache.qpid.proton.engine.impl.SessionImpl;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.qpid.proton.engine.impl.LinkImpl: void <init>(org.apache.qpid.proton.engine.impl.SessionImpl,java.lang.String)>(v, v);
return;
}
public void offer(int)
{
int v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: int;
v.<org.apache.qpid.proton.engine.impl.SenderImpl: int _offered> = v;
return;
}
public int send(byte[], int, int)
{
byte[] v;
java.lang.IllegalStateException v;
java.lang.IllegalArgumentException v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.engine.EndpointState v, v;
int v, v, v;
org.apache.qpid.proton.engine.impl.DeliveryImpl v;
org.apache.qpid.proton.engine.impl.LinkImpl v;
org.apache.qpid.proton.engine.impl.SessionImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.EndpointState getLocalState()>();
v = <org.apache.qpid.proton.engine.EndpointState: org.apache.qpid.proton.engine.EndpointState CLOSED>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("send not allowed after the sender is closed.");
throw v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.DeliveryImpl current()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: org.apache.qpid.proton.engine.impl.LinkImpl getLink()>();
if v == v goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: int send(byte[],int,int)>(v, v, v);
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.SessionImpl getSession()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SessionImpl: void incrementOutgoingBytes(int)>(v);
label:
return v;
}
public int send(org.apache.qpid.proton.codec.ReadableBuffer)
{
java.lang.IllegalStateException v;
java.lang.IllegalArgumentException v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.codec.ReadableBuffer v;
org.apache.qpid.proton.engine.EndpointState v, v;
int v;
org.apache.qpid.proton.engine.impl.DeliveryImpl v;
org.apache.qpid.proton.engine.impl.LinkImpl v;
org.apache.qpid.proton.engine.impl.SessionImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: org.apache.qpid.proton.codec.ReadableBuffer;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.EndpointState getLocalState()>();
v = <org.apache.qpid.proton.engine.EndpointState: org.apache.qpid.proton.engine.EndpointState CLOSED>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("send not allowed after the sender is closed.");
throw v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.DeliveryImpl current()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: org.apache.qpid.proton.engine.impl.LinkImpl getLink()>();
if v == v goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: int send(org.apache.qpid.proton.codec.ReadableBuffer)>(v);
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.SessionImpl getSession()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SessionImpl: void incrementOutgoingBytes(int)>(v);
label:
return v;
}
public int sendNoCopy(org.apache.qpid.proton.codec.ReadableBuffer)
{
java.lang.IllegalStateException v;
java.lang.IllegalArgumentException v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.codec.ReadableBuffer v;
org.apache.qpid.proton.engine.EndpointState v, v;
int v;
org.apache.qpid.proton.engine.impl.DeliveryImpl v;
org.apache.qpid.proton.engine.impl.LinkImpl v;
org.apache.qpid.proton.engine.impl.SessionImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: org.apache.qpid.proton.codec.ReadableBuffer;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.EndpointState getLocalState()>();
v = <org.apache.qpid.proton.engine.EndpointState: org.apache.qpid.proton.engine.EndpointState CLOSED>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("send not allowed after the sender is closed.");
throw v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.DeliveryImpl current()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: org.apache.qpid.proton.engine.impl.LinkImpl getLink()>();
if v == v goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: int sendNoCopy(org.apache.qpid.proton.codec.ReadableBuffer)>(v);
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.SessionImpl getSession()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SessionImpl: void incrementOutgoingBytes(int)>(v);
label:
return v;
}
public void abort()
{
org.apache.qpid.proton.engine.impl.SenderImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
return;
}
void doFree()
{
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.engine.impl.SessionImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.SessionImpl getSession()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SessionImpl: void freeSender(org.apache.qpid.proton.engine.impl.SenderImpl)>(v);
specialinvoke v.<org.apache.qpid.proton.engine.impl.LinkImpl: void doFree()>();
return;
}
public boolean advance()
{
org.apache.qpid.proton.engine.impl.SenderImpl v;
int v, v, v;
org.apache.qpid.proton.engine.impl.DeliveryImpl v;
boolean v;
org.apache.qpid.proton.engine.impl.SessionImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.DeliveryImpl current()>();
if v == null goto label;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: void setComplete()>();
label:
v = specialinvoke v.<org.apache.qpid.proton.engine.impl.LinkImpl: boolean advance()>();
if v == 0 goto label;
v = v.<org.apache.qpid.proton.engine.impl.SenderImpl: int _offered>;
if v <= 0 goto label;
v = v.<org.apache.qpid.proton.engine.impl.SenderImpl: int _offered>;
v = v - 1;
v.<org.apache.qpid.proton.engine.impl.SenderImpl: int _offered> = v;
label:
if v == 0 goto label;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: void decrementCredit()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.DeliveryImpl: void addToTransportWorkList()>();
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.SessionImpl getSession()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SessionImpl: void incrementOutgoingDeliveries(int)>(1);
label:
return v;
}
boolean hasOfferedCredits()
{
int v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v = v.<org.apache.qpid.proton.engine.impl.SenderImpl: int _offered>;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
org.apache.qpid.proton.engine.impl.TransportSender getTransportLink()
{
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.engine.impl.TransportSender v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v = v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.TransportSender _transportLink>;
return v;
}
void setTransportLink(org.apache.qpid.proton.engine.impl.TransportSender)
{
org.apache.qpid.proton.engine.impl.SenderImpl v;
org.apache.qpid.proton.engine.impl.TransportSender v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: org.apache.qpid.proton.engine.impl.TransportSender;
v.<org.apache.qpid.proton.engine.impl.SenderImpl: org.apache.qpid.proton.engine.impl.TransportSender _transportLink> = v;
return;
}
public void setCredit(int)
{
int v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v := @parameter: int;
specialinvoke v.<org.apache.qpid.proton.engine.impl.LinkImpl: void setCredit(int)>(v);
return;
}
public int getRemoteCredit()
{
int v;
org.apache.qpid.proton.engine.impl.SenderImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SenderImpl;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SenderImpl: int getCredit()>();
return v;
}
}