void send_to_connection(buf_ptr buf, short message_id, int size) {
		((Header*)write_header_)->message_id = message_id;
		((Header*)write_header_)->body_size = size;
		std::memcpy(write_data_, write_header_, sizeof(Header));
		std::memcpy(write_data_ + sizeof(Header), buf->get_buffer(), size);
		do_write(size + sizeof(Header));
		do_write(size + sizeof(Header));
	}
	void do_write(buf_ptr buf){
		boost::asio::async_write(socket_, boost::asio::buffer(buf->get_buffer(), buf->get_size()),[&buf](const boost::system::error_code&, std::size_t){});
	}