An open API service indexing awesome lists of open source software.

https://github.com/cfhamlet/os-qdb-protocal

qdb protocal
https://github.com/cfhamlet/os-qdb-protocal

protocal qdb

Last synced: 3 months ago
JSON representation

qdb protocal

Awesome Lists containing this project

README

          

# os-qdb-protocal

[![Build Status](https://www.travis-ci.org/cfhamlet/os-qdb-protocal.svg?branch=master)](https://www.travis-ci.org/cfhamlet/os-qdb-protocal)
[![codecov](https://codecov.io/gh/cfhamlet/os-qdb-protocal/branch/master/graph/badge.svg)](https://codecov.io/gh/cfhamlet/os-qdb-protocal)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/os-qdb-protocal.svg)](https://pypi.python.org/pypi/os-qdb-protocal)
[![PyPI](https://img.shields.io/pypi/v/os-qdb-protocal.svg)](https://pypi.python.org/pypi/os-qdb-protocal)

qdb protocal.

Support qdb commands: ``get``, ``test``

# Install

`pip install os-qdb-protocal`

# Usage

* create a protocal object from cmd and key

```
from os_qdb_protocal import create_protocal
proto = create_protocal('get', b'test-key')
```

* use upstream method to generate data to be send


```
# s is something which used to write data to, like socket, file, etc.
for data in proto.upstream():
s.send(data)
```

* use downstream method to parse data and get size will be recived

```
downstream = proto.downstream()
read_size = next(downstream)
while read_size >= 0:
# s is something which used to recieve data from, like socket, file, etc.
data = s.read(read_size)
read_size = downstream.send(data)
```

* access key and value

```
proto.key
proto.value
```

# Unit Tests

`$ tox`

# License

MIT licensed.