More netcode updates

This commit is contained in:
Anuken
2021-06-02 17:04:31 -04:00
parent 462a64bf21
commit 9aae443e72
3 changed files with 10 additions and 8 deletions

View File

@ -31,7 +31,7 @@ public class CallGenerator{
.addModifiers(Modifier.PUBLIC);
//temporary data to deserialize later
packet.addField(byte[].class, "DATA", Modifier.PRIVATE);
packet.addField(FieldSpec.builder(byte[].class, "DATA", Modifier.PRIVATE).initializer("NODATA").build());
packet.superclass(tname("mindustry.net.Packet"));
@ -149,11 +149,11 @@ public class CallGenerator{
typespec.addMethod(readbuilder.build());
MethodSpec.Builder builder = MethodSpec.methodBuilder("check")
.addModifiers(Modifier.PRIVATE);
MethodSpec.Builder builder = MethodSpec.methodBuilder("handled")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class);
//make sure data is present, begin reading it if so
builder.beginControlFlow("if(DATA != null)");
builder.addStatement("BAIS.setBytes(DATA)");
Seq<Svar> params = ent.element.params();
@ -202,8 +202,6 @@ public class CallGenerator{
}
}
builder.endControlFlow();
typespec.addMethod(builder.build());
}
@ -351,8 +349,6 @@ public class CallGenerator{
.addAnnotation(Override.class)
.returns(void.class);
builder.addStatement("check()");
Smethod elem = ent.element;
Seq<Svar> params = elem.params();

View File

@ -257,6 +257,7 @@ public class Net{
* Call to handle a packet being received for the client.
*/
public void handleClientReceived(Packet object){
object.handled();
if(object instanceof StreamBegin b){
streams.put(b.id, currentStream = new StreamBuilder(b));
@ -291,6 +292,8 @@ public class Net{
* Call to handle a packet being received for the server.
*/
public void handleServerReceived(NetConnection connection, Packet object){
object.handled();
try{
//handle object normally
if(serverListeners.get(object.getClass()) != null){

View File

@ -10,6 +10,7 @@ public abstract class Packet{
//readObject
//readBuilding
//readUnit (possibly)
protected static final byte[] NODATA = {};
protected static final ReusableByteInStream BAIS = new ReusableByteInStream();
protected static final Reads READ = new Reads(new DataInputStream(BAIS));
@ -29,6 +30,8 @@ public abstract class Packet{
read(read);
}
public void handled(){}
public int getPriority(){
return priorityNormal;
}