code: func SetHandshakeController(pss *Pss, params *HandshakeParams) error {
  	ctrl := &HandshakeController{
  		pss:                  pss,
  		keyC:                 make(map[string]chan []string),
  		symKeyRequestTimeout: params.SymKeyRequestTimeout,
  		symKeyExpiryTimeout:  params.SymKeyExpiryTimeout,
  		symKeySendLimit:      params.SymKeySendLimit,
  		symKeyCapacity:       params.SymKeyCapacity,
  		symKeyIndex:          make(map[string]*handshakeKey),
  		handshakes:           make(map[string]map[Topic]*handshake),
  		deregisterFuncs:      make(map[Topic]func()),
  	}
  	api := &HandshakeAPI{
  		namespace: "pss",
  		ctrl:      ctrl,
  	}
  	pss.addAPI(rpc.API{
  		Namespace: api.namespace,
  		Version:   "0.2",
  		Service:   api,
  		Public:    true,
  	})
  	ctrlSingleton = ctrl
  	return nil
  }
docs: // Attach HandshakeController to pss node
  //
  // Must be called before starting the pss node service