Text.ProtocolBuffers.WireMessage

User API functions

Main encoding and decoding operations (non-delimited message encoding)

messageSize

messagePut

messageGet

messagePutM

messageGetM

These should agree with the length delimited message format of protobuf-2.10, where the message size preceeds the data.

messageWithLengthSize

messageWithLengthPut

messageWithLengthGet

messageWithLengthPutM

messageWithLengthGetM

Encoding to write or read a single message field (good for delimited messages or incremental use)

messageAsFieldSize

messageAsFieldPutM

messageAsFieldGetM

The Put monad from the binary package, and a custom binary Get monad (Text.ProtocolBuffers.Get)

type Put

data Get a

runPut

runGet

runGetOnLazy

getFromBS

The Wire monad itself. Users should beware that passing an incompatible FieldType is a runtime error or fail

class Wire b

The internal exports, for use by generated code and the Text.ProtcolBuffer.Extensions module

size'WireTag

toWireType

toWireTag

toPackedWireTag

mkWireTag

prependMessageSize

putSize

putVarUInt

getVarInt

putLazyByteString

splitWireTag

fieldIdOf

wireSizeReq

wireSizeOpt

wireSizeRep

wireSizePacked

wirePutReq

wirePutOpt

wirePutRep

wirePutPacked

wireSizeErr

wirePutErr

wireGetErr

getMessageWith

getBareMessageWith

wireGetEnum

wireGetPackedEnum

unknownField

unknown

wireGetFromWire

castWord64ToDouble

castWord32ToFloat

castDoubleToWord64

castFloatToWord32

zzEncode64

zzEncode32

zzDecode64

zzDecode32