| 1 | | Es wurde festgestellt, dass die Daten viel zu langsam bearbeitet werden in ''!ProcessReceivedData()''. Wenn der komplette Parametersatz mit 336 Werten geschickt wird, reicht die aktuelle Geschwindigkeit der Bearbeitung nicht aus. |
| | 1 | '''Ändrungen:''' |
| | 2 | - !GcProt.h: |
| | 3 | - Festlegen der maximalen Queue-Größe auf 500 Elemente (''MAX_GCPROT_QUEUE_SIZE'') |
| | 4 | - Deklaration der neuen Membervariable ''m_queuelock'' |
| | 5 | - Deklaration der neuen Membervariable ''m_eventHeadRemovedFromQueue'' |
| | 6 | - !GcProt.cpp: |
| | 7 | - ''CGCProt()'': Initialisieren von ''m_eventHeadRemovedFromQueue'' |
| | 8 | - ''~CGCProt()'': Aufräumen von ''m_eventHeadRemovedFromQueue'' |
| | 9 | - ''!SendDataToGateway()'': Locken der Tx-Queue. Wenn die Queue voll ist wird auf das Event ''m_eventHeadRemovedFromQueue'' gewartet. |
| | 10 | - ''DoGCProt_Controller()'': Locken der Tx-Queue. Jedes Mal wenn ein Element aus der Queue entnommen wird, wird das Event ''m_eventHeadRemovedFromQueue'' gesetzt. |
| | 11 | - ''!FillRxMessageQueue()'': Locken der Rx-Queue. Wenn die Queue voll ist wird auf das Event ''m_eventHeadRemovedFromQueue'' gewartet. |
| | 12 | - ''!ProcessReceivedData()'': Locken der Rx-Queue. Jedes Mal wenn ein Element aus der Queue entnommen wird, wird das Event ''m_eventHeadRemovedFromQueue'' gesetzt. |