2023-03-30 15:46:03 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include <iostream>
|
2023-04-10 18:12:45 -04:00
|
|
|
#include "ComputeChannel.h"
|
2023-05-19 21:50:03 -04:00
|
|
|
#include "ComputeBuffer.h"
|
|
|
|
|
#include "ComputeSocket.h"
|
|
|
|
|
|
|
|
|
|
#include <Windows.h>
|
2023-03-30 15:46:03 -04:00
|
|
|
|
|
|
|
|
int main()
|
|
|
|
|
{
|
2023-05-19 21:50:03 -04:00
|
|
|
const int ChannelId = 100;
|
|
|
|
|
|
|
|
|
|
FWorkerComputeSocket Socket;
|
2023-04-24 15:21:04 -04:00
|
|
|
if (!Socket.Open())
|
2023-03-30 15:46:03 -04:00
|
|
|
{
|
|
|
|
|
std::cout << "Environment variable not set correctly" << std::endl;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
2023-04-24 15:21:04 -04:00
|
|
|
FComputeChannel Channel;
|
2023-05-19 21:50:03 -04:00
|
|
|
if (!Channel.Attach(Socket, ChannelId, FComputeBuffer::FParams()))
|
2023-04-24 15:21:04 -04:00
|
|
|
{
|
2023-05-19 21:50:03 -04:00
|
|
|
std::cout << "Unable to create channel to initiator" << std::endl;
|
2023-04-24 15:21:04 -04:00
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-19 21:50:03 -04:00
|
|
|
std::cout << "Connected to initiator" << std::endl;
|
2023-03-30 15:46:03 -04:00
|
|
|
|
2023-04-10 18:12:45 -04:00
|
|
|
size_t Length = 0;
|
|
|
|
|
char Buffer[4];
|
2023-03-30 15:46:03 -04:00
|
|
|
|
2023-05-20 14:50:49 -04:00
|
|
|
Buffer[0] = 0;
|
|
|
|
|
Channel.Send(Buffer, 1); // Send a dummy one-byte message to let the remote know we're listening
|
|
|
|
|
|
2023-04-10 18:12:45 -04:00
|
|
|
for (;;)
|
|
|
|
|
{
|
2023-05-19 21:50:03 -04:00
|
|
|
size_t RecvLength = Channel.Recv(Buffer + Length, sizeof(Buffer) - Length);
|
|
|
|
|
if (RecvLength == 0)
|
2023-03-30 15:46:03 -04:00
|
|
|
{
|
2023-04-10 18:12:45 -04:00
|
|
|
return 0;
|
2023-03-30 15:46:03 -04:00
|
|
|
}
|
|
|
|
|
|
2023-05-19 21:50:03 -04:00
|
|
|
Length += RecvLength;
|
2023-04-10 18:12:45 -04:00
|
|
|
|
|
|
|
|
if (Length >= 4)
|
|
|
|
|
{
|
|
|
|
|
std::cout << "Read value " << *(int*)Buffer << std::endl;
|
|
|
|
|
Length = 0;
|
|
|
|
|
}
|
2023-03-30 15:46:03 -04:00
|
|
|
}
|
|
|
|
|
|
2023-05-19 21:50:03 -04:00
|
|
|
Channel.MarkComplete();
|
2023-03-30 15:46:03 -04:00
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|