Skip to content

Commit be449f0

Browse files
author
mint9976
committed
update to v1.0.6
update README.md update build.gradle add ClientDisconnectPacket.java
1 parent bdea9d2 commit be449f0

File tree

7 files changed

+54
-19
lines changed

7 files changed

+54
-19
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<a href="https://zyonicsoftware.com"> <img src="https://i.postimg.cc/HnjVQNdQ/signal.png" /></a>
33
<h2>A library for java with the native java socket technology and in combination with the custom bytebuffer allocator technology by boonproject</h2>
44
<hr />
5-
<a href="https://gitlab.zyonicsoftware.com/mint9976/Signal/-/packages"><img src="https://img.shields.io/badge/release-v1.0.5-9cf" /></a>
5+
<a href="https://gitlab.zyonicsoftware.com/mint9976/Signal/-/packages"><img src="https://img.shields.io/badge/release-v1.0.6-9cf" /></a>
66
<a href="https://github.com/mintUI9976/Signal"><img src="https://img.shields.io/github/languages/code-size/mintUI9976/Signal?color=orange" /></a>
77
<a href="https://github.com/mintUI9976/Signal"><img src="https://img.shields.io/tokei/lines/github/mintUI9976/Signal?color=yellow" /></a>
88
<a href="https://github.com/mintUI9976/Signal/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mintUI9976/Signal" /></a>
@@ -62,7 +62,7 @@ maven{url"https://gitlab.zyonicsoftware.com/api/v4/projects/144/packages/maven"}
6262
````
6363

6464
````xml
65-
compile group:'com.zyonicsoftware.minereaper.signal',name:'Signal',version:'v1.0.5'
65+
compile group:'com.zyonicsoftware.minereaper.signal',name:'Signal',version:'v1.0.6'
6666
````
6767

6868
<hr />
@@ -74,12 +74,12 @@ compile group:'com.zyonicsoftware.minereaper.signal',name:'Signal',version:'v1.0
7474
<dependency>
7575
<groupId>com.zyonicsoftware.minereaper.signal</groupId>
7676
<artifactId>Signal</artifactId>
77-
<version>v1.0.5</version>
77+
<version>v1.0.6</version>
7878
</dependency>
7979
````
8080

8181
````xml
82-
mvn dependency:get -Dartifact=com.zyonicsoftware.minereaper.signal:Signal:v1.0.5
82+
mvn dependency:get -Dartifact=com.zyonicsoftware.minereaper.signal:Signal:v1.0.6
8383
````
8484

8585
````xml

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
apply plugin: 'maven'
88

99
group 'com.zyonicsoftware.minereaper.signal'
10-
version 'v1.0.5'
10+
version 'v1.0.6'
1111

1212
tasks.withType(JavaCompile) {
1313
options.encoding = 'UTF-8'

src/main/java/com/zyonicsoftware/minereaper/signal/client/Client.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.zyonicsoftware.minereaper.signal.keepalive.KeepAliveThread;
2222
import com.zyonicsoftware.minereaper.signal.outgoing.OutputStreamThread;
2323
import com.zyonicsoftware.minereaper.signal.packet.Packet;
24+
import com.zyonicsoftware.minereaper.signal.packet.ahead.ClientDisconnectPacket;
2425
import com.zyonicsoftware.minereaper.signal.scheduler.RedEugeneScheduler;
2526
import com.zyonicsoftware.minereaper.signal.signal.SignalProvider;
2627
import org.jetbrains.annotations.NotNull;
@@ -172,7 +173,9 @@ public void connect() throws IOException {
172173
public void disconnect() throws IOException {
173174
// interrupt the keep alive thread
174175
this.disconnected = true;
176+
175177
if (Allocator.getAllocation().equals(Allocation.CLIENT_SIDE)) {
178+
this.send(new ClientDisconnectPacket());
176179
this.keepAliveThread.interrupt();
177180
}
178181

src/main/java/com/zyonicsoftware/minereaper/signal/incoming/InputStreamThread.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ public void run() {
7171
try {
7272
if (this.socket.isClosed()) {
7373
// interrupt thread
74-
if (!this.client.isDisconnected()) {
75-
this.client.disconnect();
76-
}
74+
this.interrupt();
7775
return;
7876
}
7977
// check if finalInputStream is null
@@ -106,6 +104,12 @@ public void run() {
106104
this.resetCalculation();
107105
this.receiveIncomingPacketMessage(
108106
KeepAlivePacket.class.getName(), connectionUUID.toString());
107+
} else if (packetId == -4) {
108+
final UUID connectionUUID = readingByteBuffer.readUUID();
109+
this.resetCalculation();
110+
this.receiveIncomingPacketMessage(
111+
KeepAlivePacket.class.getName(), connectionUUID.toString());
112+
this.client.disconnect();
109113
} else {
110114
// get packet
111115
final Class<? extends Packet> packet = PacketRegistry.get(packetId);

src/main/java/com/zyonicsoftware/minereaper/signal/keepalive/KeepAliveThread.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import com.zyonicsoftware.minereaper.signal.signal.SignalProvider;
1919
import org.jetbrains.annotations.NotNull;
2020

21-
import java.io.IOException;
2221
import java.lang.reflect.InvocationTargetException;
2322
import java.net.Socket;
2423
import java.util.concurrent.TimeUnit;
@@ -51,13 +50,7 @@ public void run() {
5150
super.run();
5251
if (this.socket.isClosed()) {
5352
// interrupt thread
54-
if (!this.client.isDisconnected()) {
55-
try {
56-
this.client.disconnect();
57-
} catch (final IOException exception) {
58-
exception.printStackTrace();
59-
}
60-
}
53+
this.interrupt();
6154
return;
6255
}
6356
this.client.send(new KeepAlivePacket());

src/main/java/com/zyonicsoftware/minereaper/signal/outgoing/OutputStreamThread.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.zyonicsoftware.minereaper.signal.exception.SignalException;
1818
import com.zyonicsoftware.minereaper.signal.packet.Packet;
1919
import com.zyonicsoftware.minereaper.signal.packet.PacketRegistry;
20+
import com.zyonicsoftware.minereaper.signal.packet.ahead.ClientDisconnectPacket;
2021
import com.zyonicsoftware.minereaper.signal.packet.ahead.KeepAlivePacket;
2122
import com.zyonicsoftware.minereaper.signal.packet.ahead.UpdateUUIDPacket;
2223
import com.zyonicsoftware.minereaper.signal.scheduler.RedEugeneScheduler;
@@ -70,9 +71,7 @@ public void run() {
7071
try {
7172
if (this.socket.isClosed()) {
7273
// interrupt thread
73-
if (!this.client.isDisconnected()) {
74-
this.client.disconnect();
75-
}
74+
this.interrupt();
7675
return;
7776
}
7877
// skip when input stream is null
@@ -93,6 +92,9 @@ public void run() {
9392
} else if (packet.getClass().equals(KeepAlivePacket.class)) {
9493
writingByteBuffer.writeInt(-3);
9594
writingByteBuffer.writeUUID(this.client.getConnectionUUID().get());
95+
} else if (packet.getClass().equals(ClientDisconnectPacket.class)) {
96+
writingByteBuffer.writeInt(-4);
97+
writingByteBuffer.writeUUID(this.client.getConnectionUUID().get());
9698
} else {
9799
// get packetId
98100
final int packetId = PacketRegistry.indexOf(packet.getClass());
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
*
3+
* * Copyright (c) 2021. Zyonic Software - Niklas Griese
4+
* * This File, its contents and by extention the corresponding project is property of Zyonic Software and may not be used without explicit permission to do so.
5+
* *
6+
* * contact(at)zyonicsoftware.com
7+
*
8+
*/
9+
10+
package com.zyonicsoftware.minereaper.signal.packet.ahead;
11+
12+
import com.zyonicsoftware.minereaper.signal.buffer.ReadingByteBuffer;
13+
import com.zyonicsoftware.minereaper.signal.buffer.WritingByteBuffer;
14+
import com.zyonicsoftware.minereaper.signal.packet.Packet;
15+
16+
import java.util.UUID;
17+
18+
public class ClientDisconnectPacket extends Packet {
19+
20+
public ClientDisconnectPacket(final UUID connectionUUID) {
21+
super(connectionUUID);
22+
}
23+
24+
public ClientDisconnectPacket() {
25+
super(null);
26+
}
27+
28+
@Override
29+
public void send(final WritingByteBuffer writingByteBuffer) {}
30+
31+
@Override
32+
public void receive(final ReadingByteBuffer readingByteBuffer) {}
33+
}

0 commit comments

Comments
 (0)