Added puml diagram
More execution strategy ideas Signed-off-by: Greg Wilkins <gregw@webtide.com>
This commit is contained in:
parent
ab16e625e0
commit
feb3a24f06
|
@ -84,6 +84,13 @@ loop as packets received
|
||||||
loop while task==null
|
loop while task==null
|
||||||
alt if instruction available
|
alt if instruction available
|
||||||
QuicSession -> Decoder : takeInstruction
|
QuicSession -> Decoder : takeInstruction
|
||||||
|
note right
|
||||||
|
I'm not sure how we ensure a taken instruction
|
||||||
|
is always written? Do we queue them or only take them
|
||||||
|
when writable? If we queue, then perhaps they are just
|
||||||
|
queued during production rather than returned as produced
|
||||||
|
tasks
|
||||||
|
end note
|
||||||
return task
|
return task
|
||||||
else if metadata available
|
else if metadata available
|
||||||
QuicStream -> Decoder : takeMetaData
|
QuicStream -> Decoder : takeMetaData
|
||||||
|
@ -98,19 +105,29 @@ loop as packets received
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else normal stream
|
else normal stream
|
||||||
QuicStream -> QuicSession : fill
|
loop task==null
|
||||||
QuicSession -> Quiche : drainClearText\nForStream
|
alt if instruction available
|
||||||
return bytes filled
|
QuicStream -> Decoder : takeInstruction
|
||||||
return bytes filled
|
return task
|
||||||
QuicStream -> QuicStream : parse
|
else if metadata available
|
||||||
alt if header frame
|
|
||||||
QuicStream -> Decoder : decode
|
|
||||||
return
|
|
||||||
QuicStream -> Decoder : takeMetaData
|
QuicStream -> Decoder : takeMetaData
|
||||||
return task
|
return task
|
||||||
else data frame
|
else
|
||||||
|
QuicStream -> QuicSession : fill
|
||||||
|
QuicSession -> Quiche : drainClearText\nForStream
|
||||||
|
return bytes filled
|
||||||
|
return bytes filled
|
||||||
|
QuicStream -> QuicStream : parse
|
||||||
|
alt if header frame
|
||||||
|
QuicStream -> Decoder : decode
|
||||||
|
return
|
||||||
|
else data frame
|
||||||
|
QuicStream -> HttpChannel : getCallback
|
||||||
|
return task
|
||||||
|
end
|
||||||
|
return
|
||||||
end
|
end
|
||||||
return task
|
end
|
||||||
end
|
end
|
||||||
return task
|
return task
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue