Sharding » History » Version 1
Tomislav Pleše, 09/27/2025 01:21 PM
| 1 | 1 | Tomislav Pleše | # Sharding |
|---|---|---|---|
| 2 | |||
| 3 | |||
| 4 | Flow: |
||
| 5 | HomeScreen -> HomeScreenManager -> ThreadManager -> PointManager | ShardManager |
||
| 6 | |||
| 7 | * current Point = Point/Shard currently in focus on screen |
||
| 8 | * new Point = Point/Shard created when new Prompt sent |
||
| 9 | |||
| 10 | |||
| 11 | **1. Prompt** |
||
| 12 | |||
| 13 | 1. 1. Table - code Flow: |
||
| 14 | |||
| 15 | |HomeScreen |HomeScreenManager |ThreadManager |PointManager |Cases: | |
||
| 16 | |--|--|--|--|--| |
||
| 17 | |onPrompt |handlePropmt |insertNewPoint |createNewPoint | | |
||
| 18 | | | | | |1. Start Thread - New Root | |
||
| 19 | | | | | |2. Under Regular Point Child | |
||
| 20 | | | | | |3. Under Point that is a Shard Child - no Sharding | |
||
| 21 | |||
| 22 | 1. 2. Table - Point/Shard states: |
||
| 23 | |||
| 24 | | | |1. Start Thread - New Root |2. Under Regular Point Child |3. Under Shard Child - no Sharding | |
||
| 25 | |--|--|--|--|--| |
||
| 26 | |new PointDTO |id |= new id |= new id |= new id | |
||
| 27 | | |parentId |= new id |= currentPoint.parentId |= currentPoint.parentId | |
||
| 28 | | |parentShardId |null |null |= currentPoint.ShardId | |
||
| 29 | | | | | | | |
||
| 30 | |parent ShardDTO |shardPointChildren |no change |no change |= add newPoint.id | |
||
| 31 | | | | | | | |
||
| 32 | |parent PointDTO |pointChildren |no change |= add new id |= no chnage | |
||
| 33 | |||
| 34 | **2. SubPrompt - Sharding** |
||
| 35 | |||
| 36 | 2. 1. Table - code Flow |
||
| 37 | |||
| 38 | |HomeScreen |HomeScreenManager |ThreadManager |ShardManager |Cases: | |
||
| 39 | |--|--|--|--|--| |
||
| 40 | |onSubPrompt |handleSubPropmt |insertNewPoint |createNewPoint | | |
||
| 41 | | | | | |1. Under Regular Point - 1st Sharding | |
||
| 42 | | | | | |2. Under Existing Shard - 2nd Sharding | |
||
| 43 | |||
| 44 | 2. 2. Table - Point/Shard states: |
||
| 45 | |||
| 46 | | | |1. Under Regular Point - 1st Sharding |2. Under Existing Shard - 2nd Sharding |Differences | |
||
| 47 | |--|--|--|--|--| |
||
| 48 | |new PointDTO |id |= new id |= new id |same | |
||
| 49 | | |parentId |= currentPoint.id |= currentPoint.id |same | |
||
| 50 | | |parentShardId |null |null |same | |
||
| 51 | | | | | | | | |
||
| 52 | |current ShardDTO |shardId |= new shardId |= new shardId |same | |
||
| 53 | | |shardPointChildren |= add newPoint.id |= add newPoint.id |same | |
||
| 54 | | | | | | | |
||
| 55 | |current PointDTO |shardList |= add newShardId |= add newShardId |same | |
||
| 56 | | | | | | | |
||
| 57 | |new PointDTO |parentShardId |= newShardId |= newShardId |same | |
||
| 58 | | | | | | | |
||
| 59 | |||
| 60 | |||
| 61 | # **** Important: |
||
| 62 | Difference between 1st and 2nd Sharding: |
||
| 63 | * on 1st Sharding - shardsList = null -> Shard just added to empty list |
||
| 64 | * on 2nd Sharding - shardsList != null -> Shard needs to be inserted into the list at certain index |