Actions
Sharding¶
Flow:
HomeScreen -> HomeScreenManager -> ThreadManager -> PointManager | ShardManager
- current Point = Point/Shard currently in focus on screen
- new Point = Point/Shard created when new Prompt sent
1. Prompt
-
- Table - code Flow:
| HomeScreen | HomeScreenManager | ThreadManager | PointManager | Cases: |
|---|---|---|---|---|
| onPrompt | handlePropmt | insertNewPoint | createNewPoint | |
| 1. Start Thread - New Root | ||||
| 2. Under Regular Point Child | ||||
| 3. Under Point that is a Shard Child - no Sharding |
-
- Table - Point/Shard states:
| 1. Start Thread - New Root | 2. Under Regular Point Child | 3. Under Shard Child - no Sharding | ||
|---|---|---|---|---|
| new PointDTO | id | = new id | = new id | = new id |
| parentId | = new id | = currentPoint.parentId | = currentPoint.parentId | |
| parentShardId | null | null | = currentPoint.ShardId | |
| parent ShardDTO | shardPointChildren | no change | no change | = add newPoint.id |
| parent PointDTO | pointChildren | no change | = add new id | = no chnage |
2. SubPrompt - Sharding
-
- Table - code Flow
| HomeScreen | HomeScreenManager | ThreadManager | ShardManager | Cases: |
|---|---|---|---|---|
| onSubPrompt | handleSubPropmt | insertNewPoint | createNewPoint | |
| 1. Under Regular Point - 1st Sharding | ||||
| 2. Under Existing Shard - 2nd Sharding |
-
- Table - Point/Shard states:
| 1. Under Regular Point - 1st Sharding | 2. Under Existing Shard - 2nd Sharding | Differences | ||
|---|---|---|---|---|
| new PointDTO | id | = new id | = new id | same |
| parentId | = currentPoint.id | = currentPoint.id | same | |
| parentShardId | null | null | same | |
| current ShardDTO | shardId | = new shardId | = new shardId | same |
| shardPointChildren | = add newPoint.id | = add newPoint.id | same | |
| current PointDTO | shardList | = add newShardId | = add newShardId | same |
| new PointDTO | parentShardId | = newShardId | = newShardId | same |
**** Important:¶
Difference between 1st and 2nd Sharding:
- on 1st Sharding - shardsList = null -> Shard just added to empty list
- on 2nd Sharding - shardsList != null -> Shard needs to be inserted into the list at certain index
Updated by Tomislav Pleše 2 months ago · 1 revisions