Skip to content

[8pt] Mark all built-in modules with information about yielding #1448

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

Open
rosik opened this issue Aug 7, 2020 · 5 comments
Open

[8pt] Mark all built-in modules with information about yielding #1448

rosik opened this issue Aug 7, 2020 · 5 comments
Labels
design [nature] Design issue manual [location] Tarantool manual, no definite location server [area] Task relates to Tarantool's server (core) functionality

Comments

@rosik
Copy link
Contributor

rosik commented Aug 7, 2020

Make fiber stuff well-described again

Product: Tarantool
Since:
Audience/target: Lua devs
Root document: https://www.tarantool.io/en/doc/latest/reference/reference_lua/fiber/
SME: @rosik
Peer reviewer: @ documentarian name

Details

Documentation about implicit cases is very poor. I believe it deserves another chapter in doc.

What information I'd like to see there:

  • List ALL functions that yield explicitly. And when do they. For example, channel:get() is tricky and yields only occasionally.
  • Mark ALL those functions within their sections - fio, netbox, http, socket, log (!), etc.
  • Every implicit yield may raise upon wakeup if the fiber was cancelled.
  • fiber.cancel doesn't yield, but still raises "fiber is cancelled" error.
  • Please mention requirements for triggers too.

Definition of done

@lenkis lenkis added 1.10 design [nature] Design issue manual [location] Tarantool manual, no definite location server [area] Task relates to Tarantool's server (core) functionality labels Aug 11, 2020
@Onvember Onvember changed the title Make fiber stuff well-described again [64pt] Make fiber stuff well-described again Aug 17, 2020
@Totktonada
Copy link
Member

I would also create a documentation page, which describes how fibers serve requests.

@Totktonada
Copy link
Member

Related: #1648.

@NickVolynkin NickVolynkin changed the title [64pt] Make fiber stuff well-described again Make fiber stuff well-described again Mar 5, 2021
@NickVolynkin NickVolynkin changed the title Make fiber stuff well-described again [13pt] Make fiber stuff well-described again Mar 5, 2021
@artur-barsegyan
Copy link
Contributor

This is another task that cannot be done with the help of documentaries. Documenters do not have the competence to determine exactly whether a yield is a function or not.

I see a simple solution:

  • come up with how we will write in the reference that the function can be displayed
  • create a google sheet with tabs for each module in Tarantool
  • give a link to the required tabs for each subcommand in Core

Then transfer this information to rST.

@artur-barsegyan
Copy link
Contributor

And we should rename this issue into "Mark all built-in modules with information about yielding"

@NickVolynkin NickVolynkin changed the title [13pt] Make fiber stuff well-described again [13pt] Mark all built-in modules with information about yielding Mar 26, 2021
@rosik
Copy link
Contributor Author

rosik commented Mar 26, 2021

Please mention requirements for triggers too.

@NickVolynkin NickVolynkin changed the title [13pt] Mark all built-in modules with information about yielding [8pt] Mark all built-in modules with information about yielding Mar 26, 2021
@NickVolynkin NickVolynkin self-assigned this Jun 2, 2021
@veod32 veod32 removed the M (medium) label Sep 1, 2021
@patiencedaur patiencedaur removed the 1.10 label Apr 18, 2022
@TarantoolBot TarantoolBot removed the 8sp label Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design [nature] Design issue manual [location] Tarantool manual, no definite location server [area] Task relates to Tarantool's server (core) functionality
Projects
None yet
Development

No branches or pull requests

9 participants