Skip to content

Commit 87c629c

Browse files
committed
Cleanup code
1 parent 1c69931 commit 87c629c

File tree

28 files changed

+1163
-829
lines changed

28 files changed

+1163
-829
lines changed

core/src/main/java/com/ibasco/agql/core/AbstractClient.java

+8-12
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,11 @@
3232
import java.io.IOException;
3333
import java.util.concurrent.CompletableFuture;
3434

35-
abstract public class AbstractClient<Req extends AbstractRequest,
36-
Res extends AbstractResponse,
37-
M extends AbstractMessenger<Req, Res>>
38-
implements Client<Req, Res> {
35+
abstract public class AbstractClient<R extends AbstractRequest,
36+
S extends AbstractResponse,
37+
M extends AbstractMessenger<R, S>>
38+
implements Client<R, S> {
39+
3940
private M messenger;
4041

4142
private static final Logger log = LoggerFactory.getLogger(AbstractClient.class);
@@ -45,19 +46,14 @@ public AbstractClient(M messenger) {
4546
}
4647

4748
@Override
48-
public <V> CompletableFuture<V> sendRequest(Req message) {
49-
return sendRequest(message, AbstractMessenger.DEFAULT_REQUEST_PRIORITY);
50-
}
51-
52-
protected <V> CompletableFuture<V> sendRequest(Req message, RequestPriority priority) {
49+
public <V> CompletableFuture<V> sendRequest(R message) {
5350
log.debug("Client '{}' Sending request : {}", this.getClass().getSimpleName(), message);
5451
//Send the request then transform the result once a response is received
55-
ConcurrentUtils.sleepUninterrupted(10);
56-
return messenger.send(message, priority).thenApply(this::convertToResultType);
52+
return messenger.send(message).thenApply(this::convertToResultType);
5753
}
5854

5955
@SuppressWarnings("unchecked")
60-
private <V> V convertToResultType(Res message) {
56+
private <V> V convertToResultType(S message) {
6157
return (V) message.getMessage();
6258
}
6359

core/src/main/java/com/ibasco/agql/core/AbstractMessenger.java

+210-179
Large diffs are not rendered by default.

core/src/main/java/com/ibasco/agql/core/Client.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@
2727
import java.io.Closeable;
2828
import java.util.concurrent.CompletableFuture;
2929

30-
public interface Client<Req extends AbstractRequest, Res extends AbstractResponse> extends Closeable {
31-
<V> CompletableFuture<V> sendRequest(Req message);
30+
public interface Client<R extends AbstractRequest, S extends AbstractResponse> extends Closeable {
31+
<V> CompletableFuture<V> sendRequest(R message);
3232
}

core/src/main/java/com/ibasco/agql/core/Messenger.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
/**
3232
* {@link Messenger} is responsible for sending and receiving messages from clients.
3333
*/
34-
public interface Messenger<Req extends AbstractRequest, Response extends AbstractResponse>
35-
extends BiConsumer<Response, Throwable>, Closeable {
36-
CompletableFuture<Response> send(Req request);
34+
public interface Messenger<R extends AbstractRequest, S extends AbstractResponse> extends Closeable {
35+
CompletableFuture<S> send(R request);
36+
37+
void receive(S response, Throwable error);
3738
}

core/src/main/java/com/ibasco/agql/core/RequestDetails.java

+20-44
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
package com.ibasco.agql.core;
2626

27-
import com.ibasco.agql.core.enums.RequestPriority;
2827
import com.ibasco.agql.core.enums.RequestStatus;
2928
import org.apache.commons.lang3.builder.EqualsBuilder;
3029
import org.apache.commons.lang3.builder.HashCodeBuilder;
@@ -38,23 +37,22 @@
3837

3938
/**
4039
* Contains all the properties associated with this request
40+
*
41+
* @deprecated
4142
*/
42-
public class RequestDetails<Req extends AbstractRequest, Res extends AbstractResponse> implements Comparable<RequestDetails> {
43+
public class RequestDetails<R extends AbstractRequest, S extends AbstractResponse> {
4344
private static final Logger log = LoggerFactory.getLogger(RequestDetails.class);
44-
private Req request;
45-
private CompletableFuture<Res> clientPromise;
45+
private R request;
46+
private CompletableFuture<S> promise;
4647
private RequestStatus status;
47-
private RequestPriority priority;
48-
private Transport<Req> transport;
49-
private Class<Res> expectedResponseClass;
48+
private Transport<R> transport;
5049
private AtomicInteger retries = new AtomicInteger(0);
5150
private long timeCreated;
5251

53-
public RequestDetails(Req request, CompletableFuture<Res> clientPromise, RequestPriority priority, Transport<Req> transport) {
52+
public RequestDetails(R request, CompletableFuture<S> promise, Transport<R> transport) {
5453
this.status = RequestStatus.NEW;
5554
this.request = request;
56-
this.clientPromise = clientPromise;
57-
this.priority = priority;
55+
this.promise = promise;
5856
this.transport = transport;
5957
this.timeCreated = System.currentTimeMillis();
6058
}
@@ -64,48 +62,32 @@ public RequestDetails(Req request, CompletableFuture<Res> clientPromise, Request
6462
*
6563
* @param requestDetails An {@link RequestDetails} that will be used as reference for the copy
6664
*/
67-
public RequestDetails(RequestDetails<Req, Res> requestDetails) {
65+
public RequestDetails(RequestDetails<R, S> requestDetails) {
6866
this.request = requestDetails.getRequest();
69-
this.clientPromise = requestDetails.getClientPromise();
67+
this.promise = requestDetails.getPromise();
7068
this.status = requestDetails.getStatus();
71-
this.priority = requestDetails.getPriority();
69+
this.transport = requestDetails.getTransport();
70+
this.timeCreated = System.currentTimeMillis();
7271
this.retries = new AtomicInteger(requestDetails.getRetries());
73-
this.expectedResponseClass = requestDetails.getExpectedResponseClass();
74-
}
75-
76-
public Class<Res> getExpectedResponseClass() {
77-
return expectedResponseClass;
7872
}
7973

80-
public void setExpectedResponseClass(Class<Res> expectedResponseClass) {
81-
this.expectedResponseClass = expectedResponseClass;
74+
public synchronized CompletableFuture<S> getPromise() {
75+
return promise;
8276
}
8377

84-
public synchronized CompletableFuture<Res> getClientPromise() {
85-
return clientPromise;
86-
}
87-
88-
public synchronized void setClientPromise(CompletableFuture<Res> clientPromise) {
89-
this.clientPromise = clientPromise;
90-
}
91-
92-
public synchronized RequestPriority getPriority() {
93-
return priority;
94-
}
95-
96-
public synchronized void setPriority(RequestPriority priority) {
97-
this.priority = priority;
78+
public synchronized void setPromise(CompletableFuture<S> promise) {
79+
this.promise = promise;
9880
}
9981

10082
public int getRetries() {
10183
return retries.get();
10284
}
10385

104-
public synchronized void setRequest(Req request) {
86+
public synchronized void setRequest(R request) {
10587
this.request = request;
10688
}
10789

108-
public synchronized Req getRequest() {
90+
public synchronized R getRequest() {
10991
return request;
11092
}
11193

@@ -121,7 +103,7 @@ public int incrementRetry() {
121103
return this.retries.getAndAdd(1);
122104
}
123105

124-
public Transport<Req> getTransport() {
106+
public Transport<R> getTransport() {
125107
return transport;
126108
}
127109

@@ -143,7 +125,7 @@ public boolean equals(Object o) {
143125
return false;
144126
if (!(o instanceof RequestDetails))
145127
return false;
146-
final RequestDetails rhs = (RequestDetails) o;
128+
RequestDetails rhs = (RequestDetails) o;
147129
return new EqualsBuilder()
148130
.append(this.getClass(), rhs.getClass())
149131
.append(this.getRequest(), rhs.getRequest())
@@ -160,17 +142,11 @@ public int hashCode() {
160142
.toHashCode();
161143
}
162144

163-
@Override
164-
public int compareTo(RequestDetails o) {
165-
return this.priority.compareTo(o.getPriority());
166-
}
167-
168145
@Override
169146
public String toString() {
170147
return new ToStringBuilder(this, ToStringStyle.NO_CLASS_NAME_STYLE)
171148
.append("Request", this.getRequest().getClass().getSimpleName())
172149
.append("Created", this.getTimeCreated())
173-
.append("Priority", this.getPriority())
174150
.append("Status", this.getStatus())
175151
.toString();
176152
}

core/src/main/java/com/ibasco/agql/core/messenger/GameServerMessenger.java

+9-10
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,26 @@
2727
import com.ibasco.agql.core.AbstractGameServerRequest;
2828
import com.ibasco.agql.core.AbstractGameServerResponse;
2929
import com.ibasco.agql.core.AbstractMessenger;
30-
import com.ibasco.agql.core.enums.ProcessingMode;
31-
import com.ibasco.agql.core.session.AbstractSessionIdFactory;
32-
import com.ibasco.agql.core.session.SessionManager;
30+
import com.ibasco.agql.core.enums.QueueStrategy;
31+
import com.ibasco.agql.core.session.SessionIdFactory;
3332

34-
import java.util.concurrent.ScheduledExecutorService;
33+
import java.util.concurrent.ExecutorService;
3534

3635
/**
3736
* Messenger using the UDP Transport protocol
3837
*/
3938
abstract public class GameServerMessenger<A extends AbstractGameServerRequest, B extends AbstractGameServerResponse>
4039
extends AbstractMessenger<A, B> {
4140

42-
public GameServerMessenger(ProcessingMode processingMode) {
43-
super(processingMode);
41+
public GameServerMessenger(QueueStrategy queueStrategy, ExecutorService executorService) {
42+
this(null, queueStrategy, executorService);
4443
}
4544

46-
public GameServerMessenger(AbstractSessionIdFactory keyFactory, ProcessingMode processingMode) {
47-
super(keyFactory, processingMode);
45+
public GameServerMessenger(SessionIdFactory idFactory, QueueStrategy queueStrategy) {
46+
this(idFactory, queueStrategy, null);
4847
}
4948

50-
public GameServerMessenger(SessionManager sessionManager, ProcessingMode processingMode, int initQueueCapacity, ScheduledExecutorService executorService) {
51-
super(sessionManager, processingMode, initQueueCapacity, executorService);
49+
public GameServerMessenger(SessionIdFactory idFactory, QueueStrategy queueStrategy, ExecutorService executorService) {
50+
super(idFactory, queueStrategy, executorService);
5251
}
5352
}

0 commit comments

Comments
 (0)