Skip to content

Commit f45445f

Browse files
committed
fix: replace lambda by anonymous classes
1 parent 639abf3 commit f45445f

File tree

5 files changed

+279
-195
lines changed

5 files changed

+279
-195
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,8 @@
238238
</execution>
239239
</executions>
240240
<configuration>
241-
<source>1.8</source>
242-
<target>1.8</target>
241+
<source>1.7</source>
242+
<target>1.7</target>
243243
<compilerArgs>
244244
<arg>-Xlint:unchecked</arg>
245245
</compilerArgs>

src/main/java/io/socket/client/Socket.java

Lines changed: 105 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -84,19 +84,31 @@ private void subEvents() {
8484

8585
final Manager io = Socket.this.io;
8686
Socket.this.subs = new LinkedList<On.Handle>() {{
87-
add(On.on(io, Manager.EVENT_OPEN, args -> {
88-
Socket.this.onopen();
87+
add(On.on(io, Manager.EVENT_OPEN, new Listener() {
88+
@Override
89+
public void call(Object... args) {
90+
Socket.this.onopen();
91+
}
8992
}));
90-
add(On.on(io, Manager.EVENT_PACKET, args -> {
91-
Socket.this.onpacket((Packet<?>) args[0]);
93+
add(On.on(io, Manager.EVENT_PACKET, new Listener() {
94+
@Override
95+
public void call(Object... args) {
96+
Socket.this.onpacket((Packet<?>) args[0]);
97+
}
9298
}));
93-
add(On.on(io, Manager.EVENT_ERROR, args -> {
94-
if (!Socket.this.connected) {
95-
Socket.super.emit(EVENT_CONNECT_ERROR, args[0]);
99+
add(On.on(io, Manager.EVENT_ERROR, new Listener() {
100+
@Override
101+
public void call(Object... args) {
102+
if (!Socket.this.connected) {
103+
Socket.super.emit(EVENT_CONNECT_ERROR, args[0]);
104+
}
96105
}
97106
}));
98-
add(On.on(io, Manager.EVENT_CLOSE, args -> {
99-
Socket.this.onclose(args.length > 0 ? (String) args[0] : null);
107+
add(On.on(io, Manager.EVENT_CLOSE, new Listener() {
108+
@Override
109+
public void call(Object... args) {
110+
Socket.this.onclose(args.length > 0 ? (String) args[0] : null);
111+
}
100112
}));
101113
}};
102114
}
@@ -133,7 +145,12 @@ public Socket connect() {
133145
* @return a reference to this object.
134146
*/
135147
public Socket send(final Object... args) {
136-
EventThread.exec(() -> Socket.this.emit(EVENT_MESSAGE, args));
148+
EventThread.exec(new Runnable() {
149+
@Override
150+
public void run() {
151+
Socket.this.emit(EVENT_MESSAGE, args);
152+
}
153+
});
137154
return this;
138155
}
139156

@@ -150,23 +167,26 @@ public Emitter emit(final String event, final Object... args) {
150167
throw new RuntimeException("'" + event + "' is a reserved event name");
151168
}
152169

153-
EventThread.exec(() -> {
154-
Ack ack;
155-
Object[] _args;
156-
int lastIndex = args.length - 1;
157-
158-
if (args.length > 0 && args[lastIndex] instanceof Ack) {
159-
_args = new Object[lastIndex];
160-
for (int i = 0; i < lastIndex; i++) {
161-
_args[i] = args[i];
170+
EventThread.exec(new Runnable() {
171+
@Override
172+
public void run() {
173+
Ack ack;
174+
Object[] _args;
175+
int lastIndex = args.length - 1;
176+
177+
if (args.length > 0 && args[lastIndex] instanceof Ack) {
178+
_args = new Object[lastIndex];
179+
for (int i = 0; i < lastIndex; i++) {
180+
_args[i] = args[i];
181+
}
182+
ack = (Ack) args[lastIndex];
183+
} else {
184+
_args = args;
185+
ack = null;
162186
}
163-
ack = (Ack) args[lastIndex];
164-
} else {
165-
_args = args;
166-
ack = null;
167-
}
168187

169-
emit(event, _args, ack);
188+
Socket.this.emit(event, _args, ack);
189+
}
170190
});
171191
return this;
172192
}
@@ -180,52 +200,55 @@ public Emitter emit(final String event, final Object... args) {
180200
* @return a reference to this object.
181201
*/
182202
public Emitter emit(final String event, final Object[] args, final Ack ack) {
183-
EventThread.exec(() -> {
184-
JSONArray jsonArgs = new JSONArray();
185-
jsonArgs.put(event);
203+
EventThread.exec(new Runnable() {
204+
@Override
205+
public void run() {
206+
JSONArray jsonArgs = new JSONArray();
207+
jsonArgs.put(event);
186208

187-
if (args != null) {
188-
for (Object arg : args) {
189-
jsonArgs.put(arg);
209+
if (args != null) {
210+
for (Object arg : args) {
211+
jsonArgs.put(arg);
212+
}
190213
}
191-
}
192214

193-
Packet<JSONArray> packet = new Packet<>(Parser.EVENT, jsonArgs);
215+
Packet<JSONArray> packet = new Packet<>(Parser.EVENT, jsonArgs);
194216

195-
if (ack != null) {
196-
final int ackId = Socket.this.ids;
217+
if (ack != null) {
218+
final int ackId = Socket.this.ids;
197219

198-
logger.fine(String.format("emitting packet with ack id %d", ackId));
220+
logger.fine(String.format("emitting packet with ack id %d", ackId));
199221

200-
if (ack instanceof AckWithTimeout) {
201-
final AckWithTimeout ackWithTimeout = (AckWithTimeout) ack;
202-
ackWithTimeout.schedule(new TimerTask() {
203-
@Override
204-
public void run() {
205-
// remove the ack from the map (to prevent an actual acknowledgement)
206-
acks.remove(ackId);
222+
if (ack instanceof AckWithTimeout) {
223+
final AckWithTimeout ackWithTimeout = (AckWithTimeout) ack;
224+
ackWithTimeout.schedule(new TimerTask() {
225+
@Override
226+
public void run() {
227+
// remove the ack from the map (to prevent an actual acknowledgement)
228+
acks.remove(ackId);
207229

208-
// remove the packet from the buffer (if applicable)
209-
Iterator<Packet<JSONArray>> iterator = sendBuffer.iterator();
210-
while (iterator.hasNext()) {
211-
if (iterator.next().id == ackId) {
212-
iterator.remove();
230+
// remove the packet from the buffer (if applicable)
231+
Iterator<Packet<JSONArray>> iterator = sendBuffer.iterator();
232+
while (iterator.hasNext()) {
233+
if (iterator.next().id == ackId) {
234+
iterator.remove();
235+
}
213236
}
237+
238+
ackWithTimeout.onTimeout();
214239
}
240+
});
241+
}
215242

216-
ackWithTimeout.onTimeout();
217-
}
218-
});
243+
Socket.this.acks.put(ackId, ack);
244+
packet.id = ids++;
219245
}
220246

221-
Socket.this.acks.put(ackId, ack);
222-
packet.id = ids++;
223-
}
224-
225-
if (Socket.this.connected) {
226-
Socket.this.packet(packet);
227-
} else {
228-
Socket.this.sendBuffer.add(packet);
247+
if (Socket.this.connected) {
248+
Socket.this.packet(packet);
249+
} else {
250+
Socket.this.sendBuffer.add(packet);
251+
}
229252
}
230253
});
231254
return this;
@@ -376,23 +399,31 @@ private void onevent(Packet<JSONArray> packet) {
376399

377400
private Ack ack(final int id) {
378401
final Socket self = this;
379-
final boolean[] sent = new boolean[]{false};
380-
return args -> EventThread.exec(() -> {
381-
if (sent[0]) return;
382-
sent[0] = true;
383-
if (logger.isLoggable(Level.FINE)) {
384-
logger.fine(String.format("sending ack %s", args.length != 0 ? args : null));
385-
}
402+
final boolean[] sent = new boolean[] {false};
403+
return new Ack() {
404+
@Override
405+
public void call(final Object... args) {
406+
EventThread.exec(new Runnable() {
407+
@Override
408+
public void run() {
409+
if (sent[0]) return;
410+
sent[0] = true;
411+
if (logger.isLoggable(Level.FINE)) {
412+
logger.fine(String.format("sending ack %s", args.length != 0 ? args : null));
413+
}
386414

387-
JSONArray jsonArgs = new JSONArray();
388-
for (Object arg : args) {
389-
jsonArgs.put(arg);
390-
}
415+
JSONArray jsonArgs = new JSONArray();
416+
for (Object arg : args) {
417+
jsonArgs.put(arg);
418+
}
391419

392-
Packet<JSONArray> packet = new Packet<>(Parser.ACK, jsonArgs);
393-
packet.id = id;
394-
self.packet(packet);
395-
});
420+
Packet<JSONArray> packet = new Packet<>(Parser.ACK, jsonArgs);
421+
packet.id = id;
422+
self.packet(packet);
423+
}
424+
});
425+
}
426+
};
396427
}
397428

398429
private void onack(Packet<JSONArray> packet) {

0 commit comments

Comments
 (0)