Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
nitely committed Feb 2, 2024
1 parent 5ebd44c commit 107702b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/hyperx/client.nim
Original file line number Diff line number Diff line change
Expand Up @@ -339,18 +339,20 @@ proc openStream(client: ClientContext): StreamId =
proc startHandshake(client: ClientContext) {.async.} =
debugInfo "startHandshake"
# we need to do this before sending any other frame
await client.sock.send preface
# XXX: allow sending some params
let sid = client.openMainStream()
doAssert sid == frmsidMain.StreamId
# XXX: allow sending some params
var payload = newPayload()
payload.s.addSetting frmsEnablePush, 0'u32
var frm = newFrame()
frm.setTyp frmtSettings
frm.setSid frmsidMain
frm.setPayloadLen payload.s.len.FrmPayloadLen
await client.sock.send(frm.rawBytesPtr, frm.len)
await client.sock.send(addr payload.s[0], payload.s.len)
var blob = newSeqOfCap[byte](preface.len+frm.len+payload.s.len)
blob.add preface
blob.add frm.bytes
blob.add payload.s
await client.sock.send(addr blob[0], blob.len)

proc connect(client: ClientContext) {.async.} =
doAssert(not client.isConnected)
Expand Down
3 changes: 3 additions & 0 deletions src/hyperx/frame.nim
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@ func newFrame*(): Frame {.inline.} =
func rawBytesPtr*(frm: Frame): ptr byte =
addr frm.s[0]

func bytes*(frm: Frame): array[frmHeaderSize, byte] =
frm.s

func clear*(frm: Frame) {.inline.} =
for i in 0 .. frm.s.len-1:
frm.s[i] = 0
Expand Down

0 comments on commit 107702b

Please sign in to comment.