@@ -38,6 +38,8 @@ func serializeTransferTask(
3838 transferTask = transferDeleteExecutionTaskToProto (task )
3939 case * tasks.ChasmTask :
4040 transferTask = transferChasmTaskToProto (task )
41+ case * tasks.CancelActivityNexusTask :
42+ transferTask = transferCancelActivityNexusTaskToProto (task )
4143 default :
4244 return nil , serviceerror .NewInternalf ("Unknown transfer task type: %v" , task )
4345 }
@@ -86,6 +88,8 @@ func deserializeTransferTask(
8688 task = transferDeleteExecutionTaskFromProto (transferTask )
8789 case enumsspb .TASK_TYPE_CHASM :
8890 task = transferChasmTaskFromProto (transferTask )
91+ case enumsspb .TASK_TYPE_TRANSFER_CANCEL_ACTIVITY_NEXUS :
92+ task = transferCancelActivityNexusTaskFromProto (transferTask )
8993 default :
9094 return nil , serviceerror .NewInternalf ("Unknown transfer task type: %v" , transferTask .TaskType )
9195 }
@@ -106,6 +110,40 @@ func transferChasmTaskFromProto(task *persistencespb.TransferTaskInfo) tasks.Tas
106110 }
107111}
108112
113+ func transferCancelActivityNexusTaskToProto (task * tasks.CancelActivityNexusTask ) * persistencespb.TransferTaskInfo {
114+ return & persistencespb.TransferTaskInfo {
115+ NamespaceId : task .WorkflowKey .NamespaceID ,
116+ WorkflowId : task .WorkflowKey .WorkflowID ,
117+ RunId : task .WorkflowKey .RunID ,
118+ TaskId : task .TaskID ,
119+ TaskType : task .GetType (),
120+ Version : task .Version ,
121+ VisibilityTime : timestamppb .New (task .VisibilityTimestamp ),
122+ TaskDetails : & persistencespb.TransferTaskInfo_CancelActivityNexusTaskDetails_ {
123+ CancelActivityNexusTaskDetails : & persistencespb.TransferTaskInfo_CancelActivityNexusTaskDetails {
124+ ScheduledEventIds : task .ScheduledEventIDs ,
125+ WorkerInstanceKey : task .WorkerInstanceKey ,
126+ },
127+ },
128+ }
129+ }
130+
131+ func transferCancelActivityNexusTaskFromProto (task * persistencespb.TransferTaskInfo ) tasks.Task {
132+ details := task .GetCancelActivityNexusTaskDetails ()
133+ return & tasks.CancelActivityNexusTask {
134+ WorkflowKey : definition .NewWorkflowKey (
135+ task .NamespaceId ,
136+ task .WorkflowId ,
137+ task .RunId ,
138+ ),
139+ VisibilityTimestamp : task .VisibilityTime .AsTime (),
140+ TaskID : task .TaskId ,
141+ Version : task .Version ,
142+ ScheduledEventIDs : details .GetScheduledEventIds (),
143+ WorkerInstanceKey : details .GetWorkerInstanceKey (),
144+ }
145+ }
146+
109147func serializeTimerTask (
110148 encoder Encoder ,
111149 task tasks.Task ,
0 commit comments