/*
*/

#if !defined(__KL_TRAFFICPROTOCOLLERTYPES_H)
#define __KL_TRAFFICPROTOCOLLERTYPES_H

namespace TrafficProtocoller
{
	enum data_source_t
	{
		dsUnknown = 0,
		dsClient,					//!< Источник данных - клиент
		dsServer					//!< Источник данных - сервер
	};

	enum detect_code_t
	{
		dcProtocolUnknown = 0,			//!< Протокол не опознан
		dcProtocolDetected,				//!< Протокол опознан
		dcNeedMoreInfo,					//!< Не достаточно данных для опознания протокола
		dcDataDetected,					//!< Распознана команда передачи данных
		dcProtocolLikeDetected,			//!< Есть подозрение на соответствие протоколу
		dc_last,
	};

	inline const char *GetDataSourceStr(data_source_t ds)
	{
		switch(ds)
		{
		case dsClient:
			return "dsClient";
		case dsServer:
			return "dsServer";
		}
		return "dsUnknown";
	}
}

#define npPROTOCOL_TYPE ((tSTRING)("PROTOCOL_TYPE")) // тип протокола (нужен только для внешних задач)


#endif  // !defined(__KL_TRAFFICPROTOCOLLERTYPES_H)
