Boids.MainWindow.InitJoin C# (CSharp) Method

InitJoin() public method

public InitJoin ( ) : void
return void
    public void InitJoin() {


      var join = (MainWindow.SCALABLE) ? 
          Join.Create<Join.Scalable>(4 + NumBoids + NumBoids)
        : Join.Create<Join.LockBased>(4 + NumBoids + NumBoids);
    
      join.Initialize(out Boids, NumBoids);
      join.Initialize(out Tick);
      join.Initialize(out Running);
      join.Initialize(out NotRunning);
      join.Initialize(out PauseResume);
      join.Initialize(out Sync, NumBoids);
      for (int i = 0; i < NumBoids; i++)
      {   // dummy channels to add contention
          join.When(Sync[i]).Do(() => { ;});
      }
      // rendezvous pattern
      join.When(Tick).And(Running).And(Boids).Do(data => { Running(); return data; });
      
      join.When(PauseResume).And(Running).Do(() => NotRunning());
      join.When(PauseResume).And(NotRunning).Do(() => { ResetStats(); Running(); });
      Running();

     
      var d = new Data[NumBoids];
    }