56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 *  IXWebSocketMessage.h
 | 
						|
 *  Author: Benjamin Sergeant
 | 
						|
 *  Copyright (c) 2017-2019 Machine Zone, Inc. All rights reserved.
 | 
						|
 */
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "IXWebSocketCloseInfo.h"
 | 
						|
#include "IXWebSocketErrorInfo.h"
 | 
						|
#include "IXWebSocketMessageType.h"
 | 
						|
#include "IXWebSocketOpenInfo.h"
 | 
						|
#include <memory>
 | 
						|
#include <string>
 | 
						|
#include <thread>
 | 
						|
 | 
						|
namespace ix
 | 
						|
{
 | 
						|
    struct WebSocketMessage
 | 
						|
    {
 | 
						|
        WebSocketMessageType type;
 | 
						|
        std::string& str;
 | 
						|
        size_t wireSize;
 | 
						|
        WebSocketErrorInfo errorInfo;
 | 
						|
        WebSocketOpenInfo openInfo;
 | 
						|
        WebSocketCloseInfo closeInfo;
 | 
						|
        bool binary;
 | 
						|
 | 
						|
        static std::string kStr;
 | 
						|
 | 
						|
        WebSocketMessage(WebSocketMessageType t,
 | 
						|
                         size_t w = 0,
 | 
						|
                         WebSocketErrorInfo e = WebSocketErrorInfo(),
 | 
						|
                         WebSocketOpenInfo o = WebSocketOpenInfo(),
 | 
						|
                         WebSocketCloseInfo c = WebSocketCloseInfo(),
 | 
						|
                         bool b = false)
 | 
						|
            : type(t)
 | 
						|
            , str(WebSocketMessage::kStr)
 | 
						|
            , wireSize(w)
 | 
						|
            , errorInfo(e)
 | 
						|
            , openInfo(o)
 | 
						|
            , closeInfo(c)
 | 
						|
            , binary(b)
 | 
						|
        {
 | 
						|
            ;
 | 
						|
        }
 | 
						|
 | 
						|
        // void setStr(const std::string& s)
 | 
						|
        // {
 | 
						|
        //     str = std::move(s);
 | 
						|
        // }
 | 
						|
    };
 | 
						|
 | 
						|
    using WebSocketMessagePtr = std::unique_ptr<WebSocketMessage>;
 | 
						|
} // namespace ix
 |