Small Code Optimization
This commit is contained in:
		
							parent
							
								
									c6584ccb8f
								
							
						
					
					
						commit
						5d210dbf06
					
				
					 1 changed files with 49 additions and 85 deletions
				
			
		
							
								
								
									
										130
									
								
								lweb.pbi
									
									
									
									
									
								
							
							
						
						
									
										130
									
								
								lweb.pbi
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -43,28 +43,29 @@ Module lhs_web
 | 
			
		|||
  Global.i conf_cache_current = 0
 | 
			
		||||
  Global.i conf_cache_enable = 1  
 | 
			
		||||
  
 | 
			
		||||
  Enumeration s_client_do           ;client_do_cli
 | 
			
		||||
    #CLI_DO_NOP                   ;0  Keine Arbeit
 | 
			
		||||
    #CLI_DO_DataWorking           ;10 Datenverarbeitung
 | 
			
		||||
    #CLI_DO_DataToSend            ;20 Daten zum Senden vorhanden
 | 
			
		||||
    #CLI_DO_WaitDataReceive       ;30 Wartet auf Datenempfang
 | 
			
		||||
    #CLI_DO_WaitDataSend          ;40 Wartet auf gesendete Daten
 | 
			
		||||
  Enumeration s_client_do         ;client_do_cli
 | 
			
		||||
    #CLI_DO_NOP                   ;Keine Arbeit
 | 
			
		||||
    #CLI_DO_DataWorking           ;Datenverarbeitung
 | 
			
		||||
    #CLI_DO_DataToSend            ;Daten zum Senden vorhanden
 | 
			
		||||
    #CLI_DO_WaitDataReceive       ;Wartet auf Datenempfang
 | 
			
		||||
    #CLI_DO_WaitDataSend          ;Wartet auf gesendete Daten
 | 
			
		||||
  EndEnumeration
 | 
			
		||||
  
 | 
			
		||||
  Enumeration s_server_do           ;client_do_srv
 | 
			
		||||
    #SRV_DO_NOP                   ;0  Keine Arbeit
 | 
			
		||||
    #SRV_DO_NewDatainBuffer       ;10 Neue Daten im incoming Buffer zur bearbeitung.
 | 
			
		||||
    #SRV_DO_MoreDatainBuffer      ;11 Weitere Daten im incoming Buffer
 | 
			
		||||
    #SRV_DO_DataReceive           ;12 Datem Empfangen Client Thread muss sich darum Kümmern
 | 
			
		||||
    #SRV_DO_DataReceiveCompleted  ;18 Empfang der Daten Abgeschlossen
 | 
			
		||||
    #SRV_DO_DataReceiveFailes     ;19 Beim Empfangen der Daten ist ein fehler passiert.
 | 
			
		||||
    #SRV_DO_DataSendOK            ;20 Daten erfolgreich gesendet, Thread kann weiterarbeiten.
 | 
			
		||||
    #SRV_DO_DataSendNOK           ;29 Daten nicht erfolgreich gesendet.
 | 
			
		||||
    #SRV_DO_ClientDisconnect      ;99 Beenden des Threads Client hat verbindung getrennt.
 | 
			
		||||
  Enumeration s_server_do         ;client_do_srv
 | 
			
		||||
    #SRV_DO_NOP                   ;Keine Arbeit
 | 
			
		||||
    #SRV_DO_NewDatainBuffer       ;Neue Daten im incoming Buffer zur bearbeitung.
 | 
			
		||||
    #SRV_DO_MoreDatainBuffer      ;Weitere Daten im incoming Buffer
 | 
			
		||||
    #SRV_DO_DataReceive           ;Datem Empfangen Client Thread muss sich darum Kümmern
 | 
			
		||||
    #SRV_DO_DataReceiveCompleted  ;Empfang der Daten Abgeschlossen
 | 
			
		||||
    #SRV_DO_DataReceiveFailes     ;Beim Empfangen der Daten ist ein fehler passiert.
 | 
			
		||||
    #SRV_DO_DataSendOK            ;Daten erfolgreich gesendet, Thread kann weiterarbeiten.
 | 
			
		||||
    #SRV_DO_DataSendNOK           ;Daten nicht erfolgreich gesendet.
 | 
			
		||||
    #SRV_DO_ClientDisconnect      ;Beenden des Threads Client hat verbindung getrennt.
 | 
			
		||||
  EndEnumeration
 | 
			
		||||
  
 | 
			
		||||
  #http_method_get = "GET"
 | 
			
		||||
  #http_method_post = "POST"
 | 
			
		||||
  #http_method_put = "PUT"
 | 
			
		||||
  
 | 
			
		||||
  ;***********************
 | 
			
		||||
  ;* s_lweb_client Struktur Jeder Clientthread muss in die Liste eingetragen werden.:
 | 
			
		||||
| 
						 | 
				
			
			@ -558,41 +559,6 @@ Module lhs_web
 | 
			
		|||
                    ;} 
 | 
			
		||||
                    
 | 
			
		||||
                  EndIf
 | 
			
		||||
                  
 | 
			
		||||
                  
 | 
			
		||||
                  If thread_data_size 
 | 
			
		||||
                    If thread_type ="" 
 | 
			
		||||
                      thread_type = mimetype(GetExtensionPart(thread_requested))
 | 
			
		||||
                    EndIf
 | 
			
		||||
                    
 | 
			
		||||
                    thread_date = http_day(DayOfWeek(Date())) + 
 | 
			
		||||
                                  Str(Day(Date())) +
 | 
			
		||||
                                  http_month(Month(Date())) +                            
 | 
			
		||||
                                  Str(Year(Date())) +
 | 
			
		||||
                                  " " + 
 | 
			
		||||
                                  FormatDate("%hh:%ii:%ss GMT+1", Date())
 | 
			
		||||
                    
 | 
			
		||||
                    
 | 
			
		||||
                  ;lweb_srv_mod_mss()
 | 
			
		||||
                    ClearMap(Header())
 | 
			
		||||
                    If Response(#cha_R_http_head_status) <> ""
 | 
			
		||||
                      Header(#http_head_status) = Response(#cha_R_http_head_status)
 | 
			
		||||
                    ElseIf response_status <> ""
 | 
			
		||||
                      Header(#http_head_status) = response_status
 | 
			
		||||
                    Else
 | 
			
		||||
                      Header(#http_head_status) = "200 OK"
 | 
			
		||||
                    EndIf
 | 
			
		||||
                    
 | 
			
		||||
                    Header(#http_head_content_length) = Str(thread_data_size)
 | 
			
		||||
                    Header(#http_head_content_type) = thread_type
 | 
			
		||||
                    Header(#http_head_connection) = "Keep-Alive"
 | 
			
		||||
                    Header(#http_head_keep_alive) = "timeout=15, max=1000"
 | 
			
		||||
                    thread_header = http_header_generate(Header())
 | 
			
		||||
                    thread_buffer = AllocateMemory(thread_data_size+StringByteLength(thread_header)+12)
 | 
			
		||||
                    thread_buffer_offset = thread_buffer
 | 
			
		||||
                    thread_buffer_length = PokeS(thread_buffer_offset, thread_header,-1, #PB_UTF8|#PB_String_NoZero) : thread_buffer_offset + thread_buffer_length
 | 
			
		||||
                    Debug "Header Finished"
 | 
			
		||||
                  EndIf
 | 
			
		||||
                  ;}
 | 
			
		||||
                Case #http_method_post
 | 
			
		||||
                  
 | 
			
		||||
| 
						 | 
				
			
			@ -735,39 +701,7 @@ Module lhs_web
 | 
			
		|||
                    EndIf
 | 
			
		||||
                    
 | 
			
		||||
                  EndIf
 | 
			
		||||
                  If thread_data_size 
 | 
			
		||||
                    If thread_type ="" 
 | 
			
		||||
                      thread_type = mimetype(GetExtensionPart(thread_requested))
 | 
			
		||||
                    EndIf
 | 
			
		||||
 | 
			
		||||
                    thread_date = http_day(DayOfWeek(Date())) + 
 | 
			
		||||
                                  Str(Day(Date())) +
 | 
			
		||||
                                  http_month(Month(Date())) +                            
 | 
			
		||||
                                  Str(Year(Date())) +
 | 
			
		||||
                                  " " + 
 | 
			
		||||
                                  FormatDate("%hh:%ii:%ss GMT+1", Date())
 | 
			
		||||
                    
 | 
			
		||||
                    
 | 
			
		||||
                  ;lweb_srv_mod_mss()
 | 
			
		||||
                    ClearMap(Header())
 | 
			
		||||
                    If Response(#cha_R_http_head_status) <> ""
 | 
			
		||||
                      Header(#http_head_status) = Response(#cha_R_http_head_status)
 | 
			
		||||
                    ElseIf response_status <> ""
 | 
			
		||||
                      Header(#http_head_status) = response_status
 | 
			
		||||
                    Else
 | 
			
		||||
                      Header(#http_head_status) = "200 OK"
 | 
			
		||||
                    EndIf
 | 
			
		||||
                    
 | 
			
		||||
                    Header(#http_head_content_length) = Str(thread_data_size)
 | 
			
		||||
                    Header(#http_head_content_type) = thread_type
 | 
			
		||||
                    Header(#http_head_connection) = "Keep-Alive"
 | 
			
		||||
                    Header(#http_head_keep_alive) = "timeout=15, max=1000"
 | 
			
		||||
                    thread_header = http_header_generate(Header())
 | 
			
		||||
                    thread_buffer = AllocateMemory(thread_data_size+StringByteLength(thread_header)+12)
 | 
			
		||||
                    thread_buffer_offset = thread_buffer
 | 
			
		||||
                    thread_buffer_length = PokeS(thread_buffer_offset, thread_header,-1, #PB_UTF8|#PB_String_NoZero) : thread_buffer_offset + thread_buffer_length
 | 
			
		||||
                    Debug "Header Finished"
 | 
			
		||||
                  EndIf
 | 
			
		||||
                  
 | 
			
		||||
                Default
 | 
			
		||||
                  ;************************************
 | 
			
		||||
| 
						 | 
				
			
			@ -777,7 +711,37 @@ Module lhs_web
 | 
			
		|||
                  ;* Read Buffer to Memory and Clear Buffer to Zero until the complete Networkbuffer from this Client is Cleaned.
 | 
			
		||||
                  ;* 
 | 
			
		||||
              EndSelect
 | 
			
		||||
              If thread_data_size 
 | 
			
		||||
                If thread_type ="" 
 | 
			
		||||
                  thread_type = mimetype(GetExtensionPart(thread_requested))
 | 
			
		||||
                EndIf
 | 
			
		||||
                
 | 
			
		||||
                thread_date = http_day(DayOfWeek(Date())) + 
 | 
			
		||||
                              Str(Day(Date())) +
 | 
			
		||||
                              http_month(Month(Date())) +                            
 | 
			
		||||
                              Str(Year(Date())) +
 | 
			
		||||
                              " " + 
 | 
			
		||||
                              FormatDate("%hh:%ii:%ss GMT+1", Date())
 | 
			
		||||
                
 | 
			
		||||
                ClearMap(Header())
 | 
			
		||||
                If Response(#cha_R_http_head_status) <> ""
 | 
			
		||||
                  Header(#http_head_status) = Response(#cha_R_http_head_status)
 | 
			
		||||
                ElseIf response_status <> ""
 | 
			
		||||
                  Header(#http_head_status) = response_status
 | 
			
		||||
                Else
 | 
			
		||||
                  Header(#http_head_status) = "200 OK"
 | 
			
		||||
                EndIf
 | 
			
		||||
                
 | 
			
		||||
                Header(#http_head_content_length) = Str(thread_data_size)
 | 
			
		||||
                Header(#http_head_content_type) = thread_type
 | 
			
		||||
                Header(#http_head_connection) = "Keep-Alive"
 | 
			
		||||
                Header(#http_head_keep_alive) = "timeout=15, max=1000"
 | 
			
		||||
                thread_header = http_header_generate(Header())
 | 
			
		||||
                thread_buffer = AllocateMemory(thread_data_size+StringByteLength(thread_header)+12)
 | 
			
		||||
                thread_buffer_offset = thread_buffer
 | 
			
		||||
                thread_buffer_length = PokeS(thread_buffer_offset, thread_header,-1, #PB_UTF8|#PB_String_NoZero) : thread_buffer_offset + thread_buffer_length
 | 
			
		||||
                Debug "Header Finished"
 | 
			
		||||
              EndIf
 | 
			
		||||
              CopyMemory(thread_temp_cache_memory, thread_buffer_offset, thread_data_size)
 | 
			
		||||
              FreeMemory(thread_temp_cache_memory)
 | 
			
		||||
              ;   EndIf
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue