Commit Graph

47 Commits

Author SHA1 Message Date
Max Preussner
cedcd1d1bb Messaging: Tracing recipient thread in dispatch info
[CL 2499294 by Max Preussner in Main branch]
2015-04-01 19:13:00 -04:00
Max Preussner
ed7b70caed Messaging: Removed the WithMessaging type trait and message type pre-cache
#UpgradeNotes:
The TStructOpsTypeTraits<>::WithMessaging type trait is no longer necessary for UStructs intended to be used as messages, because UObject creation and destruction is now thread-safe, and message types no longer need to be pre-cached. You can now use any existing and custom UStruct class in the Engine as messages. I ran the Editor for a couple hours with the profiler enabled and did not have any stability issues. If you experience any Messaging related crashes, please let me know asap, thanks!

#CodeReview: robert.manuszewski, peter.sauerbrei, chris.gagnon, jason.bestimt, michael.trepka, nicholas.davies

[CL 2499164 by Max Preussner in Main branch]
2015-04-01 17:35:20 -04:00
Max Preussner
6a5bbed419 Messaging: Refactored message tracer to use lambdas instead of delegates
[CL 2499122 by Max Preussner in Main branch]
2015-04-01 17:17:47 -04:00
Max Preussner
5de0ede9bb Messaging: Added support for lambdas and function objects in message endpoint handlers
[CL 2497710 by Max Preussner in Main branch]
2015-03-31 16:41:10 -04:00
Max Preussner
0f3a9baa36 Messaging: Fix for message dispatch sometimes taking a very long time
[CL 2497705 by Max Preussner in Main branch]
2015-03-31 16:40:42 -04:00
Max Preussner
49450c40ed Messaging: Allowing message handlers to decide for themselves whether they want to handle a message; documentation updates.
#UpgradeNotes:
If one of your classes implements IMessageHandler, you must remove GetHandledMessageType() and instead verify the type of message in HandleMessage(). See TMessageHandler<> for details.

[CL 2497326 by Max Preussner in Main branch]
2015-03-31 12:04:55 -04:00
Max Preussner
da11cfc865 Messaging: Fixed broken online documentation; removed redundant comments
[CL 2492774 by Max Preussner in Main branch]
2015-03-26 18:31:40 -04:00
Jaroslaw Surowiec
710c4da708 Core - Replaced FPlatformProcess::CreateSyncEvent with FPlatformProcess::GetSynchEventFromPool, CreateSyncEvent is not longer publicly available
#codereview Robert.Manuszewski

[CL 2421974 by Jaroslaw Surowiec in Main branch]
2015-01-28 07:31:10 -05:00
Michael Schoell
0e318b55ba Can set default values on local function variables.
Details view supports displaying UProperties from external UStruct's that are not a property of a UObject.

#jira UE-2246 - BP: Local function variables need to support default values

[CL 2383580 by Michael Schoell in Main branch]
2014-12-10 10:57:36 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Max Preussner
af3a31c943 Messaging: Moved delegate declarations into interface classes
[CL 2341411 by Max Preussner in Main branch]
2014-10-27 14:52:49 -04:00
Max Preussner
0e52091ac0 Messaging: Another pass towards "include what you use"
[CL 2340596 by Max Preussner in Main branch]
2014-10-24 21:13:21 -04:00
Max Preussner
052f1348fc MessagingDebugger: The 'Clear' UI action now also clears the message counters in the endpoints list
[CL 2340295 by Max Preussner in Main branch]
2014-10-24 16:07:09 -04:00
Max Preussner
7ab9d09c9e Fixing Mac build
[CL 2340265 by Max Preussner in Main branch]
2014-10-24 15:51:54 -04:00
Max Preussner
1384fa1a0e Messaging: Various API and stability improvements
#UpgradeNotes:
- UdpMessaging protocol version is now 10 - rebuild all the things!
- IMessageBus::Forward() no longer takes a Scope parameter

Other changes:
- moved message serialization out of Messaging and into transport layer
- replaced legacy json message serializer with Serialization framework
- message serialization now more gracefully handles corrupted/malicious data
- first iteration towards "include what you use"
- moved several inline implementations into .cpp files
- documentation updates

In case of problems due to this changelist, throw your hands in the air and start screaming.

#CodeReview: peter.sauerbrei, justin.sargent

[CL 2340115 by Max Preussner in Main branch]
2014-10-24 14:26:33 -04:00
Max Preussner
af75999461 Messaging: Code and documentation cleanup pass
[CL 2340097 by Max Preussner in Main branch]
2014-10-24 14:11:28 -04:00
Max Preussner
ee935eb7dc Messaging: Renamed message transport and interceptor interfaces
#UpgradeNodes: Rename ITransportMessages to IMessageTransport, IInterceptMessages to IMessageInterceptor

[CL 2334987 by Max Preussner in Main branch]
2014-10-20 17:50:10 -04:00
Max Preussner
fdfdf274ee Messaging: First pass on making headers compilable individually
[CL 2333827 by Max Preussner in Main branch]
2014-10-17 19:15:09 -04:00
Max Preussner
10d7f8d4a9 Messaging: Removed unused dependencies to Sockets module
[CL 2331775 by Max Preussner in Main branch]
2014-10-16 12:28:16 -04:00
Max Preussner
31210fb7b2 Messaging: Now correctly freeing the memory associated with a message
[CL 2330275 by Max Preussner in Main branch]
2014-10-15 11:47:41 -04:00
Max Preussner
bb9042b8ae Messaging: Fixed message context not deleting message memory
[CL 2330137 by Max Preussner in Main branch]
2014-10-15 10:12:08 -04:00
Max Preussner
976034aede Messaging: Replaced namespaced enums with enum classes
[CL 2326173 by Max Preussner in Main branch]
2014-10-10 20:14:08 -04:00
Max Preussner
661d24ddf0 Messaging: Documentation fix & cosmetic changes
[CL 2316681 by Max Preussner in Main branch]
2014-10-01 18:16:08 -04:00
Steve Robb
dc958ba860 Variadic template implementation of delegates.
* Variadic version is compiler-switched on variadic template support.
* Variadic version doesn't repeatedly include lots of the same headers to generate code.
* Tidying up of some original delegate stuff.
* Removed return type from lambda in K2Node_TemporaryVariable which was causing a Clang ICE.
* TTuple, TIntegerSequence and associated functionality - generic, but currently only implementation details of delegates and not yet for use in general code because there is no non-variadic version of them.
* MessageRouter and MessageTracer updated to use an actual delegate instead of implementation-specific identifiers.
* TTypeWrapper and TUnwrapType added to aid 'recursive' template definitions.
* C4373 disabled on VC - was only hitting this warning during development, but it's good to disable it anyway, as it's a 'this code is now standard' warning.

#codereview robert.manuszewski,mike.fricker,max.preussner,gareth.martin

[CL 2312735 by Steve Robb in Main branch]
2014-09-29 07:29:14 -04:00
Chris Gagnon
0c8fd0ab99 Merging using UE4-Releases-4.5-To-UE4 for JsonMessageSerializer.cpp
Fixed arrays of structs not desirializing properly.
#codereview max.preussner

[CL 2311791 by Chris Gagnon in Main branch]
2014-09-26 19:23:37 -04:00