move into their own threads folder

This commit is contained in:
Jaremy Creechley 2023-09-05 17:08:40 -07:00
parent c9405b0618
commit 2f3449e92c
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300
5 changed files with 11 additions and 12 deletions

View File

@ -7,8 +7,8 @@ import pkg/questionable/results
import ./key
import ./types
import ./databuffer
import ./threadresults
import ./threads/databuffer
import ./threads/threadresults
export options, SortOrder
type

View File

@ -12,8 +12,7 @@ import pkg/threading/smartptrs
import ./key
import ./query
import ./datastore
import ./threadbackend
import ./fsds
import ./threads/threadbackend
export key, query

View File

@ -78,7 +78,7 @@ proc toBuffer*(err: ref Exception): CatchableErrorBuffer =
msg: StringBuffer.new(err.msg)
)
import ./key
import ../key
import stew/results
proc new*(tp: typedesc[KeyBuffer], key: Key): KeyBuffer =

View File

@ -7,8 +7,8 @@ import pkg/upraises
import pkg/taskpools
import pkg/threading/smartptrs
import ./key
import ./query
import ../key
import ../query
import ./datastore
import ./databuffer
import ./threadresults

View File

@ -44,8 +44,8 @@ type
##
const
SignalPoolSize {.intdefine.} = 1024
SignalPoolRetries {.intdefine.} = 1000
SignalPoolSize {.intdefine.} = 10
SignalPoolRetries {.intdefine.} = 10
var
signalPoolLock: Lock
@ -84,13 +84,13 @@ proc getThreadSignal*(): Future[ThreadSignalPtr] {.async, raises: [].} =
if signalPoolFree.len() > 0:
let res = signalPoolFree.pop()
signalPoolUsed.incl(res)
echo "get:signalPoolUsed:size: ", signalPoolUsed.len()
# echo "get:signalPoolUsed:size: ", signalPoolUsed.len()
return res
except KeyError:
discard
finally:
signalPoolLock.release()
echo "wait:signalPoolUsed: "
# echo "wait:signalPoolUsed: "
await sleepAsync(10.milliseconds)
raise newException(DeadThreadDefect, "reached limit trying to acquire a ThreadSignalPtr")
@ -100,7 +100,7 @@ proc release*(sig: ThreadSignalPtr) {.raises: [].} =
withLock(signalPoolLock):
signalPoolUsed.excl(sig)
signalPoolFree.incl(sig)
echo "free:signalPoolUsed:size: ", signalPoolUsed.len()
# echo "free:signalPoolUsed:size: ", signalPoolUsed.len()
proc threadSafeType*[T: ThreadSafeTypes](tp: typedesc[T]) =
## Used to explicitly mark a type as threadsafe. It's checked