Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ jobs:
name: "Build & UTs: JDK ${{ matrix.Java }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ '17' ]
java: [ '17', '21', '22', '23', '24', '25' ]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
Expand All @@ -39,7 +40,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '17' ]
java: [ '17', '21', '25' ]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public enum Scenario {
// response during opening sequence

LATE_ONE_STEP_CLOSING;

// reaction on late incoming open queue
// response during opening sequence or
// configure queue response during closing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package com.bloomberg.bmq.impl.infr.msg;

public class AuthenticationMessage {
public final class AuthenticationMessage {

private AuthenticationRequest authenticationRequest;
private AuthenticationResponse authenticationResponse;
Expand All @@ -28,28 +28,28 @@ public Object createNewInstance() {
return new AuthenticationMessage();
}

public final void reset() {
public void reset() {
init();
}

public final void makeAuthenticationRequest(String mechanism, String data) {
public void makeAuthenticationRequest(String mechanism, String data) {
reset();
authenticationRequest = new AuthenticationRequest(mechanism, data);
}

public final boolean isAuthenticationRequestValue() {
public boolean isAuthenticationRequestValue() {
return authenticationRequest != null;
}

public final boolean isAuthenticationResponseValue() {
public boolean isAuthenticationResponseValue() {
return authenticationResponse != null;
}

public final AuthenticationRequest authenticationRequest() {
public AuthenticationRequest authenticationRequest() {
return authenticationRequest;
}

public final AuthenticationResponse authenticationResponse() {
public AuthenticationResponse authenticationResponse() {
return authenticationResponse;
}

Expand All @@ -58,7 +58,7 @@ public void init() {
authenticationResponse = null;
}

public final void reset(AuthenticationMessage copied) {
public void reset(AuthenticationMessage copied) {
authenticationRequest = copied.authenticationRequest;
authenticationResponse = copied.authenticationResponse;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package com.bloomberg.bmq.impl.infr.msg;

public class ControlMessageChoice {
public final class ControlMessageChoice {

private Integer rId;
private Status status;
Expand All @@ -40,150 +40,150 @@ public Object createNewInstance() {
return new ControlMessageChoice();
}

public final void reset() {
public void reset() {
init();
}

public final void makeStatus() {
public void makeStatus() {
reset();
status = new Status();
}

public final void makeOpenQueue() {
public void makeOpenQueue() {
reset();
openQueue = new OpenQueue();
}

public final void makeOpenQueueResponse() {
public void makeOpenQueueResponse() {
reset();
openQueueResponse = new OpenQueueResponse();
}

public final void makeConfigureQueueStream() {
public void makeConfigureQueueStream() {
reset();
configureQueueStream = new ConfigureQueueStream();
}

public final void makeConfigureQueueStreamResponse() {
public void makeConfigureQueueStreamResponse() {
reset();
configureQueueStreamResponse = new ConfigureQueueStreamResponse();
}

public final void makeConfigureStream() {
public void makeConfigureStream() {
reset();
configureStream = new ConfigureStream();
}

public final void makeConfigureStreamResponse() {
public void makeConfigureStreamResponse() {
reset();
configureStreamResponse = new ConfigureStreamResponse();
}

public final void makeCloseQueue() {
public void makeCloseQueue() {
reset();
closeQueue = new CloseQueue();
}

public final void makeCloseQueueResponse() {
public void makeCloseQueueResponse() {
reset();
closeQueueResponse = new CloseQueueResponse();
}

public final void makeDisconnect() {
public void makeDisconnect() {
reset();
disconnect = new Disconnect();
}

public final void makeDisconnectResponse() {
public void makeDisconnectResponse() {
reset();
disconnectResponse = new DisconnectResponse();
}

public final boolean isStatusValue() {
public boolean isStatusValue() {
return status != null;
}

public final boolean isOpenQueueValue() {
public boolean isOpenQueueValue() {
return openQueue != null;
}

public final boolean isOpenQueueResponseValue() {
public boolean isOpenQueueResponseValue() {
return openQueueResponse != null;
}

public final boolean isDisconnectValue() {
public boolean isDisconnectValue() {
return disconnect != null;
}

public final boolean isDisconnectResponseValue() {
public boolean isDisconnectResponseValue() {
return disconnectResponse != null;
}

public final boolean isConfigureQueueStreamValue() {
public boolean isConfigureQueueStreamValue() {
return configureQueueStream != null;
}

public final boolean isConfigureQueueStreamResponseValue() {
public boolean isConfigureQueueStreamResponseValue() {
return configureQueueStreamResponse != null;
}

public final boolean isConfigureStreamValue() {
public boolean isConfigureStreamValue() {
return configureStream != null;
}

public final boolean isConfigureStreamResponseValue() {
public boolean isConfigureStreamResponseValue() {
return configureStreamResponse != null;
}

public final boolean isCloseQueueValue() {
public boolean isCloseQueueValue() {
return closeQueue != null;
}

public final boolean isCloseQueueResponseValue() {
public boolean isCloseQueueResponseValue() {
return closeQueueResponse != null;
}

public final Status status() {
public Status status() {
return status;
}

public final OpenQueue openQueue() {
public OpenQueue openQueue() {
return openQueue;
}

public final OpenQueueResponse openQueueResponse() {
public OpenQueueResponse openQueueResponse() {
return openQueueResponse;
}

public final ConfigureQueueStream configureQueueStream() {
public ConfigureQueueStream configureQueueStream() {
return configureQueueStream;
}

public final ConfigureQueueStreamResponse configureQueueStreamResponse() {
public ConfigureQueueStreamResponse configureQueueStreamResponse() {
return configureQueueStreamResponse;
}

public final ConfigureStream configureStream() {
public ConfigureStream configureStream() {
return configureStream;
}

public final ConfigureStreamResponse configureStreamResponse() {
public ConfigureStreamResponse configureStreamResponse() {
return configureStreamResponse;
}

public final CloseQueue closeQueue() {
public CloseQueue closeQueue() {
return closeQueue;
}

public final CloseQueueResponse closeQueueResponse() {
public CloseQueueResponse closeQueueResponse() {
return closeQueueResponse;
}

public final Disconnect disconnect() {
public Disconnect disconnect() {
return disconnect;
}

public final DisconnectResponse disconnectResponse() {
public DisconnectResponse disconnectResponse() {
return disconnectResponse;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package com.bloomberg.bmq.impl.infr.msg;

public class NegotiationMessageChoice {
public final class NegotiationMessageChoice {

private ClientIdentity clientIdentity;
private BrokerResponse brokerResponse;
Expand All @@ -28,33 +28,33 @@ public Object createNewInstance() {
return new NegotiationMessageChoice();
}

public final void reset() {
public void reset() {
init();
}

public final void makeClientIdentity() {
public void makeClientIdentity() {
reset();
clientIdentity = new ClientIdentity();
}

public final void makeBrokerResponse() {
public void makeBrokerResponse() {
reset();
brokerResponse = new BrokerResponse();
}

public final boolean isClientIdentityValue() {
public boolean isClientIdentityValue() {
return clientIdentity != null;
}

public final boolean isBrokerResponseValue() {
public boolean isBrokerResponseValue() {
return brokerResponse != null;
}

public final ClientIdentity clientIdentity() {
public ClientIdentity clientIdentity() {
return clientIdentity;
}

public final BrokerResponse brokerResponse() {
public BrokerResponse brokerResponse() {
return brokerResponse;
}

Expand All @@ -63,7 +63,7 @@ public final void init() {
brokerResponse = null;
}

public final void reset(NegotiationMessageChoice copied) {
public void reset(NegotiationMessageChoice copied) {
clientIdentity = copied.clientIdentity;
brokerResponse = copied.brokerResponse;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ int connect(
boolean isWritable();

void waitUntilWritable();

// Cannot be invoked from I/O thread.

InetSocketAddress localAddress();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ public class AckEventImpl extends EventImpl {
final AckHeader header;
final Collection<AckMessageImpl> messages = new ArrayList<>();

@SuppressWarnings(
"this-escape") // passing `this` to `AckMessageIterator` is necessary to fully construct
// `this`
public AckEventImpl(ByteBuffer[] bbuf) {
super(EventType.ACK, bbuf);
AckMessageIterator it = new AckMessageIterator(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ public final class AckHeader implements Streamable {
// Maximum size (bytes) of an 'AckMessageImpl'.

public static final int MIN_HEADER_SIZE = 1;

// Minimum size (bytes) of a 'AckHeader' (which is sufficient to
// capture header words). This value should *never* change.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.bloomberg.bmq.impl.infr.util.BitUtil;
import java.io.IOException;

public class AckMessageImpl implements Streamable {
public final class AckMessageImpl implements Streamable {
// This class defines the (repeated) payload following the 'AckHeader'
// struct.

Expand Down Expand Up @@ -86,6 +86,7 @@ public class AckMessageImpl implements Streamable {
// Constant to indicate no correlation Id.

public static final int MESSAGE_SIZE = 24;

// Current size (bytes) of the message.

public AckMessageImpl() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public final class AckMessageIterator extends MessageIterator implements Iterato

private AckHeader header;

@SuppressWarnings(
"this-escape") // isValid() and event() are `final` and call no non-final methods
public AckMessageIterator(EventImpl ev) {
super(ev);
if (isValid()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public BinaryMessageProperty() {
super(PropertyType.BINARY, MessagePropertyHeader.MAX_PROPERTY_VALUE_LENGTH);
}

@SuppressWarnings("this-escape") // setPropertyValue() is `final` and calls no non-final methods
public BinaryMessageProperty(byte[] val) {
this();
setPropertyValue(val);
Expand Down
Loading
Loading