I've always thought that the concept of Marshalling had a bit of a funny name.
My mental conception of the process would always involve an ol' wildwest gunslinging marshall who would coerce objects into serialized form at gunpoint.
(source: answers.com)
I just found out the real reason Marshalling is called what it's called and chuckled.
(edit) Ok - this is what I came across on wikipedia:
Data marshalling is so named because it was first studied in 1962 by Edward Waite Marshall, then with the General Electric corporation.
Did you know the real reason, or perhaps you too are familiar with my gunslinger?
Usually the word "marshalling" is used when you're crossing some sort of boundary. Three obvious use cases: Remoting: the RPC data is marshalled to a separate machine (usually) AppDomains: an object crossing an AppDomain boundary needs to be marshalled (or it may be marshalled by reference)
1 : to place in proper rank or position marshaling the troops. 2 : to bring together and order in an appropriate or effective way marshal arguments marshaled her thoughts before answering the question. 3 : to lead ceremoniously or solicitously : usher marshaling her little group of children down the street.
In computer programming, marshalling is the process of gathering data from one or more application s or non-contiguous sources in computer storage, putting the data pieces into a message buffer , and organizing or converting the data into a format that is prescribed for a particular receiver or programming interface.
The marshaling library helps you marshal and convert data in a simple way. The marshaling library consists of a set of functions and a marshal_context class that perform marshaling for common types. The library is defined in these headers in the include/msclr directory for your Visual Studio edition: Header.
A marshal is a something/someone who controls flow or probably more precisely - controls structure (see comments below). For example at a racing event you get track marshalls. (I know that's real world and sport and so may not be appeal to many here).
If data being transferred across a boundary then I think controlling that flow is very aptly described as marshalling. I think your idea of marshalling is another good example of this term used correctly. I do think that using an existing term should be de rigueur as opposed to creating new jargon.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With