mirror of
https://github.com/QB64Official/qb64.git
synced 2024-07-07 19:10:25 +00:00
Changes communication protocol so it doesn't rely on end markers.
The message length precedes the message, so no <END> marker is required anymore.
This commit is contained in:
parent
97c7d164c9
commit
ecfb439ff0
|
@ -5,8 +5,8 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
||||||
STATIC AS LONG vw_runToLine
|
STATIC AS LONG vw_runToLine
|
||||||
STATIC AS _BYTE vw_pauseMode, vw_stepOver, vw_bypass, vw_setNextLine, vw_hwndsent
|
STATIC AS _BYTE vw_pauseMode, vw_stepOver, vw_bypass, vw_setNextLine, vw_hwndsent
|
||||||
STATIC AS _OFFSET vw_idehwnd
|
STATIC AS _OFFSET vw_idehwnd
|
||||||
STATIC vw_buffer$, vw_endc$
|
STATIC vw_buffer$
|
||||||
DIM AS LONG vw_i, vw_tempIndex, vw_localIndex, vw_varSize, vw_sequence
|
DIM AS LONG vw_i, vw_tempIndex, vw_localIndex, vw_varSize, vw_sequence, vw_cmdsize
|
||||||
DIM AS _OFFSET vw_address
|
DIM AS _OFFSET vw_address
|
||||||
DIM AS _MEM vw_m, vw_m2
|
DIM AS _MEM vw_m, vw_m2
|
||||||
DIM vw_start!, vw_temp$, vw_cmd$, vw_value$, vw_k&, vw_buf$, vw_scope$
|
DIM vw_start!, vw_temp$, vw_cmd$, vw_value$, vw_k&, vw_buf$, vw_scope$
|
||||||
|
@ -31,7 +31,6 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
||||||
|
|
||||||
IF vw_ideHost = 0 THEN
|
IF vw_ideHost = 0 THEN
|
||||||
vw_timeout = 10
|
vw_timeout = 10
|
||||||
vw_endc$ = "<END>"
|
|
||||||
|
|
||||||
'initial setup
|
'initial setup
|
||||||
GOSUB Connect
|
GOSUB Connect
|
||||||
|
@ -360,9 +359,10 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
||||||
GET #vw_ideHost, , vw_temp$
|
GET #vw_ideHost, , vw_temp$
|
||||||
vw_buffer$ = vw_buffer$ + vw_temp$
|
vw_buffer$ = vw_buffer$ + vw_temp$
|
||||||
|
|
||||||
IF INSTR(vw_buffer$, vw_endc$) THEN
|
IF LEN(vw_buffer$) >= 4 THEN vw_cmdsize = CVL(LEFT$(vw_buffer$, 4)) ELSE vw_cmdsize = 0
|
||||||
vw_cmd$ = LEFT$(vw_buffer$, INSTR(vw_buffer$, vw_endc$) - 1)
|
IF vw_cmdsize > 0 AND LEN(vw_buffer$) >= vw_cmdsize THEN
|
||||||
vw_buffer$ = MID$(vw_buffer$, INSTR(vw_buffer$, vw_endc$) + LEN(vw_endc$))
|
vw_cmd$ = MID$(vw_buffer$, 5, vw_cmdsize)
|
||||||
|
vw_buffer$ = MID$(vw_buffer$, 5 + vw_cmdsize)
|
||||||
|
|
||||||
IF INSTR(vw_cmd$, ":") THEN
|
IF INSTR(vw_cmd$, ":") THEN
|
||||||
vw_value$ = MID$(vw_cmd$, INSTR(vw_cmd$, ":") + 1)
|
vw_value$ = MID$(vw_cmd$, INSTR(vw_cmd$, ":") + 1)
|
||||||
|
@ -391,7 +391,7 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
SendCommand:
|
SendCommand:
|
||||||
vw_cmd$ = vw_cmd$ + vw_endc$
|
vw_cmd$ = MKL$(LEN(vw_cmd$)) + vw_cmd$
|
||||||
PUT #vw_ideHost, , vw_cmd$
|
PUT #vw_ideHost, , vw_cmd$
|
||||||
vw_cmd$ = ""
|
vw_cmd$ = ""
|
||||||
RETURN
|
RETURN
|
||||||
|
|
|
@ -6343,7 +6343,6 @@ END SUB
|
||||||
SUB DebugMode
|
SUB DebugMode
|
||||||
STATIC AS _BYTE PauseMode, noFocusMessage, EnteredInput
|
STATIC AS _BYTE PauseMode, noFocusMessage, EnteredInput
|
||||||
STATIC buffer$
|
STATIC buffer$
|
||||||
STATIC endc$
|
|
||||||
STATIC currentSub$
|
STATIC currentSub$
|
||||||
STATIC debuggeehwnd AS _OFFSET
|
STATIC debuggeehwnd AS _OFFSET
|
||||||
|
|
||||||
|
@ -6461,8 +6460,6 @@ SUB DebugMode
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
endc$ = "<END>"
|
|
||||||
|
|
||||||
'wait for client to connect
|
'wait for client to connect
|
||||||
start! = TIMER
|
start! = TIMER
|
||||||
DO
|
DO
|
||||||
|
@ -7554,9 +7551,10 @@ SUB DebugMode
|
||||||
END IF
|
END IF
|
||||||
buffer$ = buffer$ + temp$
|
buffer$ = buffer$ + temp$
|
||||||
|
|
||||||
IF INSTR(buffer$, endc$) THEN
|
IF LEN(buffer$) >= 4 THEN cmdsize = CVL(LEFT$(buffer$, 4)) ELSE cmdsize = 0
|
||||||
cmd$ = LEFT$(buffer$, INSTR(buffer$, endc$) - 1)
|
IF cmdsize > 0 AND LEN(buffer$) >= cmdsize THEN
|
||||||
buffer$ = MID$(buffer$, INSTR(buffer$, endc$) + LEN(endc$))
|
cmd$ = MID$(buffer$, 5, cmdsize)
|
||||||
|
buffer$ = MID$(buffer$, 5 + cmdsize)
|
||||||
|
|
||||||
IF INSTR(cmd$, ":") THEN
|
IF INSTR(cmd$, ":") THEN
|
||||||
value$ = MID$(cmd$, INSTR(cmd$, ":") + 1)
|
value$ = MID$(cmd$, INSTR(cmd$, ":") + 1)
|
||||||
|
@ -7570,7 +7568,7 @@ SUB DebugMode
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
SendCommand:
|
SendCommand:
|
||||||
cmd$ = cmd$ + endc$
|
cmd$ = MKL$(LEN(cmd$)) + cmd$
|
||||||
PUT #debugClient&, , cmd$
|
PUT #debugClient&, , cmd$
|
||||||
IF os$ = "WIN" AND _CONNECTED(debugClient&) = 0 THEN
|
IF os$ = "WIN" AND _CONNECTED(debugClient&) = 0 THEN
|
||||||
clearStatusWindow 0
|
clearStatusWindow 0
|
||||||
|
|
Loading…
Reference in a new issue