IPCWorker.cpp 690 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "../IO/Log.h"
  2. #include "IPCWorker.h"
  3. #include "IPCMessage.h"
  4. #include "IPCUnix.h"
  5. namespace Atomic
  6. {
  7. IPCWorker::IPCWorker(int fd, Context* context) : Object(context),
  8. fd_(fd)
  9. {
  10. }
  11. IPCWorker::~IPCWorker()
  12. {
  13. }
  14. void IPCWorker::ThreadFunction()
  15. {
  16. PipeTransport transport;
  17. if (!transport.OpenClient(fd_))
  18. {
  19. LOGERRORF("Unable to open IPC transport fd = %i", fd_);
  20. shouldRun_ = false;
  21. return;
  22. }
  23. IPCMessageEvent msgEvent;
  24. StringHash eventType(42);
  25. VariantMap eventData;
  26. eventData[eventType] = "MyMy";
  27. for (unsigned i = 0; i < 380; i++)
  28. {
  29. msgEvent.DoSend(transport, eventType, eventData);
  30. }
  31. }
  32. }