2019-10-02 20:45:29 +00:00
|
|
|
package org.geysermc.connector.network.session;
|
|
|
|
|
|
|
|
import com.nukkitx.protocol.bedrock.BedrockPacket;
|
|
|
|
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
|
|
|
import lombok.Getter;
|
|
|
|
import lombok.NonNull;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
2019-10-09 18:39:38 +00:00
|
|
|
import lombok.Setter;
|
2019-10-02 20:45:29 +00:00
|
|
|
|
|
|
|
import java.net.InetSocketAddress;
|
|
|
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
public class UpstreamSession {
|
|
|
|
@Getter private final BedrockServerSession session;
|
2019-10-09 18:39:38 +00:00
|
|
|
@Getter @Setter
|
|
|
|
private boolean initialized = false;
|
2019-10-02 20:45:29 +00:00
|
|
|
|
|
|
|
public void sendPacket(@NonNull BedrockPacket packet) {
|
2019-10-16 18:55:05 +00:00
|
|
|
if (isClosed())
|
|
|
|
return;
|
2019-11-10 22:53:01 +00:00
|
|
|
|
2019-10-09 18:39:38 +00:00
|
|
|
session.sendPacket(packet);
|
2019-10-02 20:45:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void sendPacketImmediately(@NonNull BedrockPacket packet) {
|
2019-10-16 18:55:05 +00:00
|
|
|
if (isClosed())
|
|
|
|
return;
|
|
|
|
|
2019-10-02 20:45:29 +00:00
|
|
|
session.sendPacketImmediately(packet);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void disconnect(String reason) {
|
|
|
|
session.disconnect(reason);
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isClosed() {
|
|
|
|
return session.isClosed();
|
|
|
|
}
|
|
|
|
|
|
|
|
public InetSocketAddress getAddress() {
|
|
|
|
return session.getAddress();
|
|
|
|
}
|
|
|
|
}
|