mirror of
				https://github.com/PurpleI2P/i2pd.git
				synced 2025-11-04 08:30:46 +00:00 
			
		
		
		
	removed C++17 check
This commit is contained in:
		
							parent
							
								
									a3e0b3710c
								
							
						
					
					
						commit
						cc59003560
					
				
					 9 changed files with 4 additions and 52 deletions
				
			
		| 
						 | 
					@ -355,9 +355,7 @@ namespace win32
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
									[fallthrough]];
 | 
				
			||||||
				[[fallthrough]];
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			case WM_TRAYICON:
 | 
								case WM_TRAYICON:
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -801,9 +801,7 @@ namespace garlic
 | 
				
			||||||
				m_State = eSessionStateEstablished;
 | 
									m_State = eSessionStateEstablished;
 | 
				
			||||||
				m_NSRSendTagset = nullptr;
 | 
									m_NSRSendTagset = nullptr;
 | 
				
			||||||
				m_EphemeralKeys = nullptr;
 | 
									m_EphemeralKeys = nullptr;
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
				[[fallthrough]];
 | 
									[[fallthrough]];
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
			case eSessionStateEstablished:
 | 
								case eSessionStateEstablished:
 | 
				
			||||||
				if (m_SendReverseKey && receiveTagset->GetTagSetID () == m_NextReceiveRatchet->GetReceiveTagSetID ())
 | 
									if (m_SendReverseKey && receiveTagset->GetTagSetID () == m_NextReceiveRatchet->GetReceiveTagSetID ())
 | 
				
			||||||
					m_SendReverseKey = false; // tag received on new tagset	
 | 
										m_SendReverseKey = false; // tag received on new tagset	
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,8 +16,7 @@
 | 
				
			||||||
#include <functional>
 | 
					#include <functional>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef STD_FILESYSTEM
 | 
					#ifndef STD_FILESYSTEM
 | 
				
			||||||
#	if (!TARGET_OS_SIMULATOR && \
 | 
					#	if (!TARGET_OS_SIMULATOR && __has_include(<filesystem>)) // supports std::filesystem
 | 
				
			||||||
	(__cplusplus >= 201703L) && __has_include(<filesystem>)) // C++ 17 or higher and supports std::filesystem
 | 
					 | 
				
			||||||
#		define STD_FILESYSTEM 1
 | 
					#		define STD_FILESYSTEM 1
 | 
				
			||||||
#	else
 | 
					#	else
 | 
				
			||||||
#		define STD_FILESYSTEM 0
 | 
					#		define STD_FILESYSTEM 0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1031,9 +1031,7 @@ namespace garlic
 | 
				
			||||||
			case eGarlicDeliveryTypeDestination:
 | 
								case eGarlicDeliveryTypeDestination:
 | 
				
			||||||
				LogPrint (eLogDebug, "Garlic: Type destination");
 | 
									LogPrint (eLogDebug, "Garlic: Type destination");
 | 
				
			||||||
				buf += 32; // TODO: check destination
 | 
									buf += 32; // TODO: check destination
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
				[[fallthrough]];
 | 
									[[fallthrough]];
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
				// no break here
 | 
									// no break here
 | 
				
			||||||
			case eGarlicDeliveryTypeLocal:
 | 
								case eGarlicDeliveryTypeLocal:
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -172,16 +172,6 @@ void LogPrint (std::stringstream& s, TValue&& arg) noexcept
 | 
				
			||||||
	s << std::forward<TValue>(arg);
 | 
						s << std::forward<TValue>(arg);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if (__cplusplus < 201703L) // below C++ 17
 | 
					 | 
				
			||||||
/** internal usage only -- folding args array to single string */
 | 
					 | 
				
			||||||
template<typename TValue, typename... TArgs>
 | 
					 | 
				
			||||||
void LogPrint (std::stringstream& s, TValue&& arg, TArgs&&... args) noexcept
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LogPrint (s, std::forward<TValue>(arg));
 | 
					 | 
				
			||||||
	LogPrint (s, std::forward<TArgs>(args)...);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @brief Create log message and send it to queue
 | 
					 * @brief Create log message and send it to queue
 | 
				
			||||||
 * @param level Message level (eLogError, eLogInfo, ...)
 | 
					 * @param level Message level (eLogError, eLogInfo, ...)
 | 
				
			||||||
| 
						 | 
					@ -194,13 +184,7 @@ void LogPrint (LogLevel level, TArgs&&... args) noexcept
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// fold message to single string
 | 
						// fold message to single string
 | 
				
			||||||
	std::stringstream ss;
 | 
						std::stringstream ss;
 | 
				
			||||||
 | 
					 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
	(LogPrint (ss, std::forward<TArgs>(args)), ...);
 | 
						(LogPrint (ss, std::forward<TArgs>(args)), ...);
 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	LogPrint (ss, std::forward<TArgs>(args)...);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	auto msg = std::make_shared<i2p::log::LogMsg>(level, std::time(nullptr), std::move(ss).str());
 | 
						auto msg = std::make_shared<i2p::log::LogMsg>(level, std::time(nullptr), std::move(ss).str());
 | 
				
			||||||
	msg->tid = std::this_thread::get_id();
 | 
						msg->tid = std::this_thread::get_id();
 | 
				
			||||||
	i2p::log::Logger().Append(msg);
 | 
						i2p::log::Logger().Append(msg);
 | 
				
			||||||
| 
						 | 
					@ -217,11 +201,7 @@ void ThrowFatal (TArgs&&... args) noexcept
 | 
				
			||||||
	if (!f) return;
 | 
						if (!f) return;
 | 
				
			||||||
	// fold message to single string
 | 
						// fold message to single string
 | 
				
			||||||
	std::stringstream ss("");
 | 
						std::stringstream ss("");
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
	(LogPrint (ss, std::forward<TArgs>(args)), ...);
 | 
						(LogPrint (ss, std::forward<TArgs>(args)), ...);
 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	LogPrint (ss, std::forward<TArgs>(args)...);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
	f (ss.str ());
 | 
						f (ss.str ());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1314,12 +1314,8 @@ namespace data
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			// update selection
 | 
								// update selection
 | 
				
			||||||
			m_ExploratorySelection.clear ();
 | 
								m_ExploratorySelection.clear ();
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
			std::vector<std::shared_ptr<const RouterInfo> > eligible;
 | 
								std::vector<std::shared_ptr<const RouterInfo> > eligible;
 | 
				
			||||||
			eligible.reserve (m_RouterInfos.size ());
 | 
								eligible.reserve (m_RouterInfos.size ());		
 | 
				
			||||||
#else		
 | 
					 | 
				
			||||||
			auto& eligible = m_ExploratorySelection;
 | 
					 | 
				
			||||||
#endif			
 | 
					 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				// collect eligible from current netdb
 | 
									// collect eligible from current netdb
 | 
				
			||||||
				bool checkIsReal = i2p::tunnel::tunnels.GetPreciseTunnelCreationSuccessRate () < NETDB_TUNNEL_CREATION_RATE_THRESHOLD; // too low rate
 | 
									bool checkIsReal = i2p::tunnel::tunnels.GetPreciseTunnelCreationSuccessRate () < NETDB_TUNNEL_CREATION_RATE_THRESHOLD; // too low rate
 | 
				
			||||||
| 
						 | 
					@ -1329,22 +1325,13 @@ namespace data
 | 
				
			||||||
					 	(!checkIsReal || (it.second->HasProfile () && it.second->GetProfile ()->IsReal ())))
 | 
										 	(!checkIsReal || (it.second->HasProfile () && it.second->GetProfile ()->IsReal ())))
 | 
				
			||||||
							eligible.push_back (it.second);
 | 
												eligible.push_back (it.second);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
			if (eligible.size () > NETDB_MAX_EXPLORATORY_SELECTION_SIZE)
 | 
								if (eligible.size () > NETDB_MAX_EXPLORATORY_SELECTION_SIZE)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				 std::sample (eligible.begin(), eligible.end(), std::back_inserter(m_ExploratorySelection),
 | 
									 std::sample (eligible.begin(), eligible.end(), std::back_inserter(m_ExploratorySelection),
 | 
				
			||||||
				 	NETDB_MAX_EXPLORATORY_SELECTION_SIZE, std::mt19937(ts));
 | 
									 	NETDB_MAX_EXPLORATORY_SELECTION_SIZE, std::mt19937(ts));
 | 
				
			||||||
			}	
 | 
								}	
 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
				std::swap (m_ExploratorySelection, eligible);
 | 
									std::swap (m_ExploratorySelection, eligible);	
 | 
				
			||||||
#else			
 | 
					 | 
				
			||||||
			if (m_ExploratorySelection.size () > NETDB_MAX_EXPLORATORY_SELECTION_SIZE)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				// reduce number of eligible to max selection size
 | 
					 | 
				
			||||||
				std::shuffle (m_ExploratorySelection.begin(), m_ExploratorySelection.end(), std::mt19937(ts));
 | 
					 | 
				
			||||||
				m_ExploratorySelection.resize (NETDB_MAX_EXPLORATORY_SELECTION_SIZE);
 | 
					 | 
				
			||||||
			}	
 | 
					 | 
				
			||||||
#endif			
 | 
					 | 
				
			||||||
			m_LastExploratorySelectionUpdateTime = ts;
 | 
								m_LastExploratorySelectionUpdateTime = ts;
 | 
				
			||||||
		}	
 | 
							}	
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -626,9 +626,7 @@ namespace i2p
 | 
				
			||||||
			case low   : /* not set */; break;
 | 
								case low   : /* not set */; break;
 | 
				
			||||||
			case extra : caps |= i2p::data::RouterInfo::eExtraBandwidth; break; // 'P'
 | 
								case extra : caps |= i2p::data::RouterInfo::eExtraBandwidth; break; // 'P'
 | 
				
			||||||
			case unlim : caps |= i2p::data::RouterInfo::eExtraBandwidth;
 | 
								case unlim : caps |= i2p::data::RouterInfo::eExtraBandwidth;
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
			[[fallthrough]];
 | 
								[[fallthrough]];
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
			// no break here, extra + high means 'X'
 | 
								// no break here, extra + high means 'X'
 | 
				
			||||||
			case high : caps |= i2p::data::RouterInfo::eHighBandwidth; break;
 | 
								case high : caps |= i2p::data::RouterInfo::eHighBandwidth; break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -587,11 +587,7 @@ namespace transport
 | 
				
			||||||
		if (!resentPackets.empty ())
 | 
							if (!resentPackets.empty ())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			m_LastResendTime = ts;
 | 
								m_LastResendTime = ts;
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
			m_SentPackets.merge (resentPackets);
 | 
								m_SentPackets.merge (resentPackets);
 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
			m_SentPackets.insert (resentPackets.begin (), resentPackets.end ());
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
			m_WindowSize >>= 1; // /2
 | 
								m_WindowSize >>= 1; // /2
 | 
				
			||||||
			if (m_WindowSize < SSU2_MIN_WINDOW_SIZE) m_WindowSize = SSU2_MIN_WINDOW_SIZE;
 | 
								if (m_WindowSize < SSU2_MIN_WINDOW_SIZE) m_WindowSize = SSU2_MIN_WINDOW_SIZE;
 | 
				
			||||||
			return resentPackets.size ();
 | 
								return resentPackets.size ();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -444,9 +444,7 @@ namespace proxy
 | 
				
			||||||
						break;
 | 
											break;
 | 
				
			||||||
						case CMD_UDP:
 | 
											case CMD_UDP:
 | 
				
			||||||
							if (m_socksv == SOCKS5) break;
 | 
												if (m_socksv == SOCKS5) break;
 | 
				
			||||||
#if (__cplusplus >= 201703L) // C++ 17 or higher
 | 
					 | 
				
			||||||
							[[fallthrough]];
 | 
												[[fallthrough]];
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
						default:
 | 
											default:
 | 
				
			||||||
							LogPrint(eLogError, "SOCKS: Invalid command: ", ((int)*sock_buff));
 | 
												LogPrint(eLogError, "SOCKS: Invalid command: ", ((int)*sock_buff));
 | 
				
			||||||
							SocksRequestFailed(SOCKS5_GEN_FAIL);
 | 
												SocksRequestFailed(SOCKS5_GEN_FAIL);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue