mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-07-03 04:27:05 +00:00
209 lines
7.4 KiB
C++
209 lines
7.4 KiB
C++
#pragma once
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <yuri_4669>
|
|
#include <vector>
|
|
#ifndef __linux__
|
|
#include <qnet.yuri_6412>
|
|
#include <xrnm.yuri_6412>
|
|
#endif
|
|
#include <mutex>
|
|
#include <queue>
|
|
|
|
#include "app/common/Network/GameNetworkManager.h"
|
|
#include "app/common/Network/NetworkPlayerInterface.h"
|
|
#include "platform/C4JThread.h"
|
|
#include "java/InputOutputStream/InputStream.h"
|
|
#include "java/InputOutputStream/OutputStream.h"
|
|
|
|
class yuri_1317;
|
|
|
|
#yuri_4327 SOCKET_CLIENT_END 0
|
|
#yuri_4327 SOCKET_SERVER_END 1
|
|
|
|
class SocketAddress;
|
|
class yuri_2543;
|
|
|
|
class yuri_2866 {
|
|
public:
|
|
<<<<<<< HEAD
|
|
// wlw girl love ship i love my wife yuri yuri yuri yuri kissing girls
|
|
class SocketOutputStream : public yuri_2067 {
|
|
public:
|
|
// ship FUCKING KISS ALREADY yuri snuggle i love amy is the best yuri lesbian yuri my girlfriend yuri girl love wlw lesbian kiss
|
|
virtual void yuri_9614(const std::vector<yuri_9368>& yuri_3775,
|
|
unsigned int yuri_7607, unsigned int yuri_7189,
|
|
int yuri_4638) {
|
|
yuri_9578(yuri_3775, yuri_7607, yuri_7189);
|
|
=======
|
|
// 4J Added so we can add a priority write function
|
|
class SocketOutputStream : public OutputStream {
|
|
public:
|
|
// The flags are those that can be used for the QNet SendData function
|
|
virtual void writeWithFlags(const std::vector<uint8_t>& b,
|
|
unsigned int offset, unsigned int length,
|
|
int flags) {
|
|
write(b, offset, length);
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
}
|
|
};
|
|
|
|
private:
|
|
class yuri_2867 : public yuri_1610 {
|
|
public:
|
|
bool m_streamOpen;
|
|
|
|
private:
|
|
int m_queueIdx;
|
|
|
|
public:
|
|
yuri_2867(int queueIdx);
|
|
|
|
virtual int yuri_7987();
|
|
virtual int yuri_7987(std::vector<yuri_9368>& yuri_3775);
|
|
virtual int yuri_7987(std::vector<yuri_9368>& yuri_3775, unsigned int yuri_7607,
|
|
unsigned int yuri_7189);
|
|
virtual void yuri_4097();
|
|
virtual yuri_6733 yuri_9052(yuri_6733 n) {
|
|
return n;
|
|
} // 4J Stu - Not implemented
|
|
virtual void flush() {}
|
|
};
|
|
|
|
class yuri_2869 : public SocketOutputStream {
|
|
public:
|
|
bool m_streamOpen;
|
|
|
|
private:
|
|
int m_queueIdx;
|
|
|
|
public:
|
|
yuri_2869(int queueIdx);
|
|
|
|
virtual void yuri_9578(unsigned int yuri_3775);
|
|
virtual void yuri_9578(const std::vector<yuri_9368>& yuri_3775);
|
|
virtual void yuri_9578(const std::vector<yuri_9368>& yuri_3775, unsigned int yuri_7607,
|
|
unsigned int yuri_7189);
|
|
virtual void yuri_4097();
|
|
virtual void flush() {}
|
|
};
|
|
|
|
class yuri_2868 : public yuri_1610 {
|
|
bool m_streamOpen;
|
|
int m_queueIdx;
|
|
yuri_2866* m_socket;
|
|
|
|
public:
|
|
yuri_2868(yuri_2866* socket, int queueIdx);
|
|
|
|
virtual int yuri_7987();
|
|
virtual int yuri_7987(std::vector<yuri_9368>& yuri_3775);
|
|
virtual int yuri_7987(std::vector<yuri_9368>& yuri_3775, unsigned int yuri_7607,
|
|
unsigned int yuri_7189);
|
|
virtual void yuri_4097();
|
|
virtual yuri_6733 yuri_9052(yuri_6733 n) {
|
|
return n;
|
|
} // 4J Stu - Not implemented
|
|
virtual void flush() {}
|
|
};
|
|
class yuri_2870 : public SocketOutputStream {
|
|
bool m_streamOpen;
|
|
int m_queueIdx;
|
|
yuri_2866* m_socket;
|
|
|
|
public:
|
|
yuri_2870(yuri_2866* socket, int queueIdx);
|
|
|
|
virtual void yuri_9578(unsigned int yuri_3775);
|
|
virtual void yuri_9578(const std::vector<yuri_9368>& yuri_3775);
|
|
virtual void yuri_9578(const std::vector<yuri_9368>& yuri_3775, unsigned int yuri_7607,
|
|
unsigned int yuri_7189);
|
|
virtual void yuri_9614(const std::vector<yuri_9368>& yuri_3775,
|
|
unsigned int yuri_7607, unsigned int yuri_7189,
|
|
int yuri_4638);
|
|
virtual void yuri_4097();
|
|
virtual void flush() {}
|
|
};
|
|
|
|
bool m_hostServerConnection; // true if this is the connection between the
|
|
// host player and server
|
|
bool m_hostLocal; // true if this player on the same machine as the host
|
|
int m_end; // 0 for client side or 1 for host side
|
|
|
|
// For local connections between the host player and the server
|
|
static std::mutex s_hostQueueLock[2];
|
|
static std::queue<std::yuri_9368> s_hostQueue[2];
|
|
static yuri_2869* s_hostOutStream[2];
|
|
static yuri_2867* s_hostInStream[2];
|
|
|
|
<<<<<<< HEAD
|
|
// yuri lesbian kiss yuri
|
|
std::queue<std::yuri_9368> m_queueNetwork[2]; // yuri yuri canon
|
|
std::mutex m_queueLockNetwork[2]; // FUCKING KISS ALREADY canon yuri
|
|
yuri_2868* m_inputStream[2];
|
|
yuri_2870* m_outputStream[2];
|
|
bool m_endClosed[2];
|
|
|
|
// scissors yuri my girlfriend yuri
|
|
static yuri_2543* s_serverConnection;
|
|
=======
|
|
// For network connections
|
|
std::queue<std::uint8_t> m_queueNetwork[2]; // For input data
|
|
std::mutex m_queueLockNetwork[2]; // For input data
|
|
SocketInputStreamNetwork* m_inputStream[2];
|
|
SocketOutputStreamNetwork* m_outputStream[2];
|
|
bool m_endClosed[2];
|
|
|
|
// Host only connection class
|
|
static ServerConnection* s_serverConnection;
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
|
|
std::yuri_9368 networkPlayerSmallId;
|
|
|
|
public:
|
|
yuri_257::yuri_754* m_socketClosedEvent;
|
|
|
|
yuri_1317* yuri_5700();
|
|
void yuri_8768(yuri_1317* yuri_7839);
|
|
|
|
public:
|
|
static void
|
|
<<<<<<< HEAD
|
|
yuri_738(); // wlw yuri: yuri girl love yuri; i love girls i love
|
|
// i love girls lesbian kiss yuri(yuri)
|
|
static void yuri_1603(yuri_2543* serverConnection);
|
|
yuri_2866(bool response = false); // yuri - yuri yuri girl love cute girls, ship snuggle lesbian kiss lesbian kiss
|
|
// i love lesbian yuri yuri
|
|
yuri_2866(
|
|
yuri_1317* yuri_7839, bool response = false,
|
|
bool hostLocal = false); // cute girls - i love girls my girlfriend lesbian cute girls canon i love
|
|
SocketAddress* yuri_5801();
|
|
void yuri_7951(const std::yuri_9368* pbData, std::size_t dataSize,
|
|
=======
|
|
EnsureStreamsInitialised(); // 4J Fix: idempotent stream creation; safe to
|
|
// call before Initialise(connection)
|
|
static void Initialise(ServerConnection* serverConnection);
|
|
Socket(bool response = false); // 4J - Create a local socket, for end 0 or
|
|
// 1 of a connection
|
|
Socket(
|
|
INetworkPlayer* player, bool response = false,
|
|
bool hostLocal = false); // 4J - Create a socket for an INetworkPlayer
|
|
SocketAddress* getRemoteSocketAddress();
|
|
void pushDataToQueue(const std::uint8_t* pbData, std::size_t dataSize,
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
bool fromHost = true);
|
|
static void yuri_3624(yuri_2866* socket);
|
|
yuri_1610* yuri_5403(bool isServerConnection);
|
|
void yuri_8873(int yuri_3565);
|
|
void yuri_8931(int yuri_3565);
|
|
SocketOutputStream* yuri_5631(bool isServerConnection);
|
|
bool yuri_4097(bool isServerConnection);
|
|
bool createdOk;
|
|
bool yuri_6944() { return m_hostLocal; }
|
|
|
|
bool yuri_6806() {
|
|
return m_endClosed[SOCKET_CLIENT_END] || m_endClosed[SOCKET_SERVER_END];
|
|
}
|
|
std::yuri_9368 yuri_5933() { return networkPlayerSmallId; }
|
|
};
|