Module That Runs in the Background All the Time, Receiving Messages on a UDP Socket

I’ve created a plugin with a single module that is meant to be a Live Link source. I’m only using the StartupModule with the following implementation:

void FMyModule::StartupModule() {
	UE_LOG(LogTemp, Warning, TEXT("My Module Is Initiating."));
	LiveLinkProvider = ILiveLinkProvider::CreateLiveLinkProvider(TEXT("Animaitor"));
	FLiveLinkStaticDataStruct StaticData(FLiveLinkSkeletonStaticData::StaticStruct());
	FLiveLinkSkeletonStaticData& AnimationData = *StaticData.Cast<FLiveLinkSkeletonStaticData>();
	AnimationData.BoneNames.Add(TEXT("Pelvis"));
	AnimationData.BoneParents.Add(0);
	LiveLinkProvider->UpdateSubjectStaticData(TEXT("Character"), ULiveLinkAnimationRole::StaticClass(), MoveTemp(StaticData));
}

I’ve copied the calls related to LiveLinkProvider directly from the Maya Live Link plugin. However, I couldn’t understand how that plugin continuously runs in the background and calls UpdateSubjectFrameData. I’d appreciate it if you could offer a solution for running a loop in the background that keeps calling this function with information that it recives on a UDP socket.