-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pycsp: Implement Python binding for csp_sfp_send #15
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice bugfixes!
The documentation for `w*` specifies that > The caller have to call PyBuffer_Release() when it is done with the buffer. https://docs.python.org/3/c-api/arg.html
The `csp_sfp_send()` function is missing from the Python interface. Furthermore, it is impossible to otherwise implement in pure Python using the existing `pycsp` functions because: The `csp_sfp_send()` function sets `CSP_FFRAG` flag in each packet header before `csp_send()`. That flag cannot be set using`pycsp_connect` so it is in effect an internal flag.
bac8ce3
to
09a375c
Compare
@Wramberg, hvad er det nu for en pseudo person |
Teamet skal stå som collaborator på repo ellers kan man ikke vælge det som reviewer |
@Wramberg, will anyone from products review this? |
I recently added bindings to I added those binding to libgscsp to avoid having this intermediate libcsp fork with minimal changes compared to upstream. I know we have stuff in GomSpace/libcsp already, but just wanted to avoid keep feeling up the fork. (I'd rather see it gone, with libgscsp only wrapping libcsp/libcsp). Any chance the new binding here can be implemented in libgscsp instead? |
The function sets internal flags on csp_conn_t that are not accessible in Python, making it hard to implement in Python.
There is also a commit included in this that implements freeing of
Py_Buffer
in the bindings. Have a look at the commit message for more details