WireEncoding in GemStone

The WireEncoding format is used to pass arguments from GT to GemStone and is one of the serialisation options for returning data.

To run the examples in GemStone:

exampleSelectors := GtWireEncodingExamples methods
	select: [ :each | each hasPragmaNamed: #gtExample ]
	thenCollect: [ :each | each selector ].
  
exampleSelectors collect: [ :selector |
	GtWireEncodingExamples new perform: selector ].
  
nestedSelectors := GtWireNestedEncodingExamples methods
	select: [ :each | (each hasPragmaNamed: #gtExample) and:
		[ each protocol first ~= $* ] ]
	thenCollect: [ :each | each selector ].
  
nestedSelectors collect: [ :selector |
	GtWireNestedEncodingExamples new perform: selector ].
  

Timing:

[ 1000 timesRepeat: [ GtWireEncoderDecoder getDefaultMap; getDefaultReverseMap ] ] timeToRun.