Project

General

Profile

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

    1. 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
    1. 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

    1. Table - code Flow
HomeScreen HomeScreenManager ThreadManager ShardManager Cases:
onSubPrompt handleSubPropmt insertNewPoint createNewPoint
1. Under Regular Point - 1st Sharding
2. Under Existing Shard - 2nd Sharding
    1. 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