lichess-org / lichess-org/api

65535 threads should be enough for anyone

Open
#291 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
597
Forks
176
Avg merge
1d 4h
Merged PRs (30d)
6

Description

I'd suggest changing max_threads on the external engine api from 65536 to 65535

The max_threads parameter on the external_engines API methods takes a value 1..65536.
65536 is one more than the max of an unsigned 16 bit int, which means that max threads parameters in API wrappers need to use u32 rather than u16. While this isn't really a problem, it's one that might cause unexpected runtime errors in libraries built around the API.

More generically, if there are other places where counts like this are configured that align with type boundaries, it might be worthwhile choosing (2^8-1), (2^16-1), (2^32 -1) instead of those powers of 2.

(Moved from https://github.com/lichess-org/lila/issues/14014)

*yes the title is TFIC ;)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names the external_engines API methods and their max_threads parameter but no file or test. Start by locating those method definitions and their API documentation or examples; done means the accepted range and any related count boundaries are consistently handled and documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.