diff options
author | Wim Taymans <wtaymans@redhat.com> | 2015-08-31 16:47:32 +0200 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2015-08-31 16:47:32 +0200 |
commit | 8d1ad2ea63cbc1c424461f32a53c8b02391b86e7 (patch) | |
tree | 4ec7d7e3d15a9e0f53fe9ff4cfb145ed4360e553 /doc/design.txt | |
parent | c2cf3590760915d60227f6bb79c783e416f8d344 (diff) |
More work on wire protocol
Make separate payload for the header.
Make release-fd payloads
capture_buffer -> peek_buffer to avoid a copy
remove release-buffer, we really need to release each fd in the buffer
separately.
provide_buffer -> send_buffer so that we can also use this to send the
release-fd messages.
in pinossrc, send back release-fd messages when the fd is no longer in
use.
Diffstat (limited to 'doc/design.txt')
-rw-r--r-- | doc/design.txt | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/doc/design.txt b/doc/design.txt index 242320d3..682e3b84 100644 --- a/doc/design.txt +++ b/doc/design.txt @@ -55,11 +55,8 @@ Wire Fixed header -<flags> : 4 bytes : buffer flags -<seq> : 4 bytes : sequence number -<pts> : 8 bytes : presentation time -<dts-offset> : 8 bytes : dts-offset -<length> : 8 bytes : total message length +<version> : 4 bytes : total message length +<length> : 4 bytes : total message length Followed by 1 or more type-length-data sections @@ -69,28 +66,36 @@ Followed by 1 or more type-length-data sections Types: - 0: fd-payload section + 1: header + + Header for payload + + <flags> : 4 bytes : buffer flags + <seq> : 4 bytes : sequence number + <pts> : 8 bytes : presentation time + <dts-offset> : 8 bytes : dts-offset + + 2: fd-payload section Used to send a buffer between client and server. - <id> : 4 bytes : id of the fd-payload - <offset> : 8 bytes : offset - <size> : 8 bytes : size - <fd-index> : 4 bytes : index of fd + <id> : 4 bytes : id of the fd-payload + <offset> : 8 bytes : offset + <size> : 8 bytes : size + <fd-index> : 4 bytes : index of fd - 1: release fd-payload + 3: release fd-payload Release a fd-payload with <id> - <id> : 4 bytes : the id number of the released fd-payload - - 2: format change + <id> : 4 bytes : the id number of the released fd-payload - <format-id> : 1 byte : format id - <format> : 0-terminated : contains serialized format + 4: format change + <format-id> : 1 byte : format id + <format> : 0-terminated : contains serialized format - 3: property changes + 5: property changes <key> : 0-terminated : key <value> : 0-terminated : value |