protected virtual Task OnData(DataMessage msg, CancellationToken cancel_token) { return Task.Delay(0); }