Reputation:
In the .NET world, does marshalling mean just the preparation of an object/data for transfer across some boundary or over a wire OR does it mean the preparation and transfer across a boundary or over a wire.
And what does to marshal a call mean. Does it mean just the packaging of the call for "transfer" over a context boundary or is it the packaging and sending (i.e. invocation) of the call?
Sorry for being a stickler...
Clarry
Upvotes: 12
Views: 618
Reputation: 1806
Marshalling is purely accross a boundary
Usually used to pass objects between 2 appDomains. The over the wire part is an optional thing, but the process of sending the object over the wire is firstly serialization of the object down, the sending is usually by some other protocol (tcp/ip).
Upvotes: 0
Reputation: 51711
"Marshal" has several meanings, but apart from it being a title, it means . . .
marshal - mobilize: make ready for action or use; "marshal resources"
So it should just mean "to package", not "to package and to send".
Upvotes: 1
Reputation: 755179
I think it can represent both scenarios.
Upvotes: 1
Reputation: 171511
In my mind marshaling refers to the act of taking an object or data, preparing it for use in a non-native context, and then presenting it to that foreign context.
I think of it in terms of the data or object being "ushered" in an environment in which it is not familiar. This may involve different encoding, a wrapper, etc., and how an object gets transferred is an important part of the marshaling process.
Until the data or object has actually been presented to its new context, I do not consider it marshaled. At that point it has just been converted, encrypted, wrapped or whatever.
As an example, JSON is often used to transfer an object or data from one process to another. When you convert to JSON, I just consider that a transformation from one data structure to another. Once it is being transferred over the wire, THEN it is being marshaled.
So, no context change, no marshaling.
That's my two cents.
Upvotes: 2
Reputation: 158359
As I have understood it it is the preparation of the data, not the transfer. Still it's not uncommon to use the term to include the transfer as well (I am also guilty of doing this).
Upvotes: 1