Specs change - so implementation change
This commit is contained in:
		| @@ -16,19 +16,15 @@ | |||||||
| namespace Stadium { | namespace Stadium { | ||||||
| namespace v1 { | namespace v1 { | ||||||
|  |  | ||||||
| template <typename CategoryT = uint8_t, typename SubcategoryT = uint8_t, typename PayloadT = KLDRArray<>> // TODO: переделать через рантайм-дрисню |  | ||||||
| class Event { | class Event { | ||||||
| 	// TODO: add static assertion of PayloadT (???) |  | ||||||
| 	// P.S.: https://stackoverflow.com/questions/874298/c-templates-that-accept-only-certain-types |  | ||||||
|  |  | ||||||
| 	public: | 	public: | ||||||
| 		struct { | 		struct { | ||||||
| 			CategoryT Category; | 			uint8_t Category; | ||||||
| 			SubcategoryT Subcategory; | 			uint8_t Subcategory; | ||||||
| 		} Type; // ??? | 		} Type; // ??? | ||||||
| 		uint32_t ServerSession; | 		uint32_t ServerSession; | ||||||
| 		// TODO: payload hash | 		// TODO: payload hash | ||||||
| 		PayloadT Payload; | 		Base::KLDRArray<> Payload; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -15,16 +15,15 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
| namespace Stadium { | namespace Stadium { | ||||||
| namespace Base { | namespace v1 { | ||||||
|  |  | ||||||
| template <typename EventT = Event<>> // TODO: переделать через рантайм-дрисню |  | ||||||
| class EventQueue { | class EventQueue { | ||||||
| 	protected: | 	protected: | ||||||
| 		std::vector<EventT> Queue; | 		std::vector<Event> Array; | ||||||
|  |  | ||||||
| 	public: | 	public: | ||||||
| 		//void Add (EventT); | 		//void Add (Event); | ||||||
| 		//EventT Get (); | 		//Event Get (); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -44,7 +44,7 @@ namespace Base { | |||||||
|  * KLDR stands for "Key-Length-Data-Repeat" |  * KLDR stands for "Key-Length-Data-Repeat" | ||||||
|  * Schematically, binary array with KLDR-formatted data looks like this. |  * Schematically, binary array with KLDR-formatted data looks like this. | ||||||
|  * Single cell: |  * Single cell: | ||||||
|  * [key: 1/2 bytes][length of data: 1/2/4 bytes][data: length of data bytes] |  * [key: 1/2 bytes][length of data: 1/2/4 bytes][data: <length of data> bytes] | ||||||
|  * Whole array: |  * Whole array: | ||||||
|  * [cell 1][cell 2]...[cell n] |  * [cell 1][cell 2]...[cell n] | ||||||
|  * |  * | ||||||
|   | |||||||
| @@ -15,14 +15,9 @@ int main () { | |||||||
| 	arr.Add(0xF4, sizeof(str3), (void*)&str3); | 	arr.Add(0xF4, sizeof(str3), (void*)&str3); | ||||||
| 	arr.Add(0x6a, sizeof(str4), (void*)&str4); | 	arr.Add(0x6a, sizeof(str4), (void*)&str4); | ||||||
| 	arr.Add(Stadium::Base::KLDRDefaultKeys::SignedDataHash, sizeof(str5), (void*)&str5); | 	arr.Add(Stadium::Base::KLDRDefaultKeys::SignedDataHash, sizeof(str5), (void*)&str5); | ||||||
| 	arr.Print(); |  | ||||||
| 	std::cout << "Shuffling!" << std::endl; | 	std::cout << "Shuffling!" << std::endl; | ||||||
| 	arr.Shuffle(); | 	arr.Shuffle(); | ||||||
| 	arr.Print(); | 	arr.Print(); | ||||||
| 	size_t arr_sz = arr.FlatSize(); |  | ||||||
| 	std::cout << "Calculated flat binary array size: " << arr_sz << std::endl; |  | ||||||
| 	std::cout << "Its contents:" << std::endl; |  | ||||||
| 	Stadium::Utils::PrintArray(arr.AsArray()); |  | ||||||
|  |  | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user