#pragma once #include #include #include #include #ifndef __linux__ #include #include #endif #include #include #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_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& 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_3775); virtual int yuri_7987(std::vector& 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_3775); virtual void yuri_9578(const std::vector& 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_3775); virtual int yuri_7987(std::vector& 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_3775); virtual void yuri_9578(const std::vector& yuri_3775, unsigned int yuri_7607, unsigned int yuri_7189); virtual void yuri_9614(const std::vector& 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 s_hostQueue[2]; static yuri_2869* s_hostOutStream[2]; static yuri_2867* s_hostInStream[2]; <<<<<<< HEAD // yuri lesbian kiss yuri std::queue 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 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; } };