MCPcopy
hub / github.com/4ian/GDevelop / addExpectedMessageAcknowledgement

Function addExpectedMessageAcknowledgement

Extensions/Multiplayer/messageManager.ts:158–203  ·  view source on GitHub ↗
({
      originalMessageName,
      originalData,
      expectedMessageName,
      otherPeerIds,
      shouldCancelMessageIfTimesOut,
      maxNumberOfRetries,
      messageRetryTime,
    }: {
      originalMessageName: string;
      originalData: any;
      expectedMessageName: string;
      otherPeerIds: string[];
      shouldCancelMessageIfTimesOut: boolean;
      maxNumberOfRetries?: number;
      messageRetryTime?: number;
    })

Source from the content-addressed store, hash-verified

156 } = {};
157
158 const addExpectedMessageAcknowledgement = ({
159 originalMessageName,
160 originalData,
161 expectedMessageName,
162 otherPeerIds,
163 shouldCancelMessageIfTimesOut,
164 maxNumberOfRetries,
165 messageRetryTime,
166 }: {
167 originalMessageName: string;
168 originalData: any;
169 expectedMessageName: string;
170 otherPeerIds: string[];
171 shouldCancelMessageIfTimesOut: boolean;
172 maxNumberOfRetries?: number;
173 messageRetryTime?: number;
174 }) => {
175 if (!gdjs.multiplayer.isLobbyGameRunning()) {
176 // This can happen if objects are destroyed at the end of the scene.
177 // We should not add expected messages in this case.
178 return;
179 }
180
181 if (!expectedMessageAcknowledgements[expectedMessageName]) {
182 expectedMessageAcknowledgements[expectedMessageName] = {};
183 }
184
185 debugLogger.info(
186 `Adding expected message ${expectedMessageName} from ${otherPeerIds.join(
187 ', '
188 )}.`
189 );
190
191 otherPeerIds.forEach((peerId) => {
192 expectedMessageAcknowledgements[expectedMessageName][peerId] = {
193 acknowledged: false,
194 lastMessageSentAt: getTimeNow(),
195 originalMessageName,
196 originalData,
197 shouldCancelMessageIfTimesOut,
198 numberOfRetries: 0,
199 maxNumberOfRetries: maxNumberOfRetries || defaultMaxRetries,
200 messageRetryTime: messageRetryTime || defaultMessageRetryTime,
201 };
202 });
203 };
204
205 const getLastClockReceivedForInstanceOnScene = ({
206 sceneNetworkId,

Calls 2

infoMethod · 0.80
forEachMethod · 0.80

Tested by

no test coverage detected