async fn manage_incoming<SK: SecretKey, D: Data, S: Splittable>(
    secret_key: SK,
    stream: S,
    result_for_parent: UnboundedSender<(SK::PublicKey, Option<UnboundedSender<D>>)>,
    data_for_user: UnboundedSender<D>,
    authorization_requests_sender: UnboundedSender<(SK::PublicKey, Sender<bool>)>,
    metrics: Metrics
) -> Result<(), IncomingError<SK::PublicKey>>