mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-28 13:48:49 +08:00

* Use normalizer as stream source Renamed 'writer' service to 'normalizer' and dropped Cassandra facilities from it. Extracted the common dependencies to 'mainflux' package for easier sharing. Fixed the API docs and unified environment variables. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Use docker build arguments to specify build Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Remove cassandra libraries Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update go-kit version to 0.6.0 Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix manager configuration Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Refactor docker-compose Merged individual compose files and dropped external links. Remove CoAP container since it is not referenced from NginX config at the moment. Update port mapping in compose and nginx.conf. Dropped bin scripts. Updated service documentation. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Drop content-type check Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement users data access layer in PostgreSQL Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Bump version to 0.1.0 Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Use go-kit logger everywhere (except CoAP) Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Improve factory methods naming Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement clients data access layer on PostgreSQL Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Make tests stateless All tests are refactored to use map-based table-driven tests. No cross-tests dependencies is present anymore. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Remove gitignore Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix nginx proxying Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Mark client-user FK explicit Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update API documentation Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update channel model Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Add channel PostgreSQL repository tests Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement PostgreSQL channels DAO Replaced update queries with raw SQL. Explicitly defined M2M table due to difficulties of ensuring the referential integrity through GORM. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Expose connection endpoints Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix swagger docs and remove DB logging Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix nested query remarks Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Add unique indices Signed-off-by: Dejan Mijic <dejan@mainflux.com>
336 lines
11 KiB
Go
336 lines
11 KiB
Go
/* // +build ignore */
|
|
|
|
// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
|
|
// Use of this source code is governed by a MIT license found in the LICENSE file.
|
|
|
|
// Code generated from gen-helper.go.tmpl - DO NOT EDIT.
|
|
|
|
package codec
|
|
|
|
import (
|
|
"encoding"
|
|
"reflect"
|
|
)
|
|
|
|
// GenVersion is the current version of codecgen.
|
|
const GenVersion = 8
|
|
|
|
// This file is used to generate helper code for codecgen.
|
|
// The values here i.e. genHelper(En|De)coder are not to be used directly by
|
|
// library users. They WILL change continuously and without notice.
|
|
//
|
|
// To help enforce this, we create an unexported type with exported members.
|
|
// The only way to get the type is via the one exported type that we control (somewhat).
|
|
//
|
|
// When static codecs are created for types, they will use this value
|
|
// to perform encoding or decoding of primitives or known slice or map types.
|
|
|
|
// GenHelperEncoder is exported so that it can be used externally by codecgen.
|
|
//
|
|
// Library users: DO NOT USE IT DIRECTLY. IT WILL CHANGE CONTINOUSLY WITHOUT NOTICE.
|
|
func GenHelperEncoder(e *Encoder) (ge genHelperEncoder, ee genHelperEncDriver) {
|
|
ge = genHelperEncoder{e: e}
|
|
ee = genHelperEncDriver{encDriver: e.e}
|
|
return
|
|
}
|
|
|
|
// GenHelperDecoder is exported so that it can be used externally by codecgen.
|
|
//
|
|
// Library users: DO NOT USE IT DIRECTLY. IT WILL CHANGE CONTINOUSLY WITHOUT NOTICE.
|
|
func GenHelperDecoder(d *Decoder) (gd genHelperDecoder, dd genHelperDecDriver) {
|
|
gd = genHelperDecoder{d: d}
|
|
dd = genHelperDecDriver{decDriver: d.d}
|
|
return
|
|
}
|
|
|
|
type genHelperEncDriver struct {
|
|
encDriver
|
|
}
|
|
|
|
func (x genHelperEncDriver) EncodeBuiltin(rt uintptr, v interface{}) {}
|
|
func (x genHelperEncDriver) EncStructFieldKey(keyType valueType, s string) {
|
|
encStructFieldKey(x.encDriver, keyType, s)
|
|
}
|
|
func (x genHelperEncDriver) EncodeSymbol(s string) {
|
|
x.encDriver.EncodeString(cUTF8, s)
|
|
}
|
|
|
|
type genHelperDecDriver struct {
|
|
decDriver
|
|
C checkOverflow
|
|
}
|
|
|
|
func (x genHelperDecDriver) DecodeBuiltin(rt uintptr, v interface{}) {}
|
|
func (x genHelperDecDriver) DecStructFieldKey(keyType valueType, buf *[decScratchByteArrayLen]byte) []byte {
|
|
return decStructFieldKey(x.decDriver, keyType, buf)
|
|
}
|
|
func (x genHelperDecDriver) DecodeInt(bitsize uint8) (i int64) {
|
|
return x.C.IntV(x.decDriver.DecodeInt64(), bitsize)
|
|
}
|
|
func (x genHelperDecDriver) DecodeUint(bitsize uint8) (ui uint64) {
|
|
return x.C.UintV(x.decDriver.DecodeUint64(), bitsize)
|
|
}
|
|
func (x genHelperDecDriver) DecodeFloat(chkOverflow32 bool) (f float64) {
|
|
f = x.DecodeFloat64()
|
|
if chkOverflow32 && chkOvf.Float32(f) {
|
|
panicv.errorf("float32 overflow: %v", f)
|
|
}
|
|
return
|
|
}
|
|
func (x genHelperDecDriver) DecodeFloat32As64() (f float64) {
|
|
f = x.DecodeFloat64()
|
|
if chkOvf.Float32(f) {
|
|
panicv.errorf("float32 overflow: %v", f)
|
|
}
|
|
return
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
type genHelperEncoder struct {
|
|
M must
|
|
e *Encoder
|
|
F fastpathT
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
type genHelperDecoder struct {
|
|
C checkOverflow
|
|
d *Decoder
|
|
F fastpathT
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncBasicHandle() *BasicHandle {
|
|
return f.e.h
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncBinary() bool {
|
|
return f.e.be // f.e.hh.isBinaryEncoding()
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) IsJSONHandle() bool {
|
|
return f.e.js
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncFallback(iv interface{}) {
|
|
// println(">>>>>>>>> EncFallback")
|
|
// f.e.encodeI(iv, false, false)
|
|
f.e.encodeValue(reflect.ValueOf(iv), nil, false)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncTextMarshal(iv encoding.TextMarshaler) {
|
|
bs, fnerr := iv.MarshalText()
|
|
f.e.marshal(bs, fnerr, false, cUTF8)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncJSONMarshal(iv jsonMarshaler) {
|
|
bs, fnerr := iv.MarshalJSON()
|
|
f.e.marshal(bs, fnerr, true, cUTF8)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncBinaryMarshal(iv encoding.BinaryMarshaler) {
|
|
bs, fnerr := iv.MarshalBinary()
|
|
f.e.marshal(bs, fnerr, false, cRAW)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncRaw(iv Raw) { f.e.rawBytes(iv) }
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: builtin no longer supported - so we make this method a no-op,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperEncoder) TimeRtidIfBinc() (v uintptr) { return }
|
|
|
|
// func (f genHelperEncoder) TimeRtidIfBinc() uintptr {
|
|
// if _, ok := f.e.hh.(*BincHandle); ok {
|
|
// return timeTypId
|
|
// }
|
|
// }
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) I2Rtid(v interface{}) uintptr {
|
|
return i2rtid(v)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) Extension(rtid uintptr) (xfn *extTypeTagFn) {
|
|
return f.e.h.getExt(rtid)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperEncoder) EncExtension(v interface{}, xfFn *extTypeTagFn) {
|
|
f.e.e.EncodeExt(v, xfFn.tag, xfFn.ext, f.e)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: No longer used,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperEncoder) HasExtensions() bool {
|
|
return len(f.e.h.extHandle) != 0
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: No longer used,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperEncoder) EncExt(v interface{}) (r bool) {
|
|
if xfFn := f.e.h.getExt(i2rtid(v)); xfFn != nil {
|
|
f.e.e.EncodeExt(v, xfFn.tag, xfFn.ext, f.e)
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
// ---------------- DECODER FOLLOWS -----------------
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecBasicHandle() *BasicHandle {
|
|
return f.d.h
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecBinary() bool {
|
|
return f.d.be // f.d.hh.isBinaryEncoding()
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecSwallow() { f.d.swallow() }
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecScratchBuffer() []byte {
|
|
return f.d.b[:]
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecScratchArrayBuffer() *[decScratchByteArrayLen]byte {
|
|
return &f.d.b
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecFallback(iv interface{}, chkPtr bool) {
|
|
// println(">>>>>>>>> DecFallback")
|
|
rv := reflect.ValueOf(iv)
|
|
if chkPtr {
|
|
rv = f.d.ensureDecodeable(rv)
|
|
}
|
|
f.d.decodeValue(rv, nil, false)
|
|
// f.d.decodeValueFallback(rv)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecSliceHelperStart() (decSliceHelper, int) {
|
|
return f.d.decSliceHelperStart()
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecStructFieldNotFound(index int, name string) {
|
|
f.d.structFieldNotFound(index, name)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecArrayCannotExpand(sliceLen, streamLen int) {
|
|
f.d.arrayCannotExpand(sliceLen, streamLen)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecTextUnmarshal(tm encoding.TextUnmarshaler) {
|
|
fnerr := tm.UnmarshalText(f.d.d.DecodeStringAsBytes())
|
|
if fnerr != nil {
|
|
panic(fnerr)
|
|
}
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecJSONUnmarshal(tm jsonUnmarshaler) {
|
|
// bs := f.dd.DecodeStringAsBytes()
|
|
// grab the bytes to be read, as UnmarshalJSON needs the full JSON so as to unmarshal it itself.
|
|
fnerr := tm.UnmarshalJSON(f.d.nextValueBytes())
|
|
if fnerr != nil {
|
|
panic(fnerr)
|
|
}
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecBinaryUnmarshal(bm encoding.BinaryUnmarshaler) {
|
|
fnerr := bm.UnmarshalBinary(f.d.d.DecodeBytes(nil, true))
|
|
if fnerr != nil {
|
|
panic(fnerr)
|
|
}
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecRaw() []byte { return f.d.rawBytes() }
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: builtin no longer supported - so we make this method a no-op,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperDecoder) TimeRtidIfBinc() (v uintptr) { return }
|
|
|
|
// func (f genHelperDecoder) TimeRtidIfBinc() uintptr {
|
|
// // Note: builtin is no longer supported - so make this a no-op
|
|
// if _, ok := f.d.hh.(*BincHandle); ok {
|
|
// return timeTypId
|
|
// }
|
|
// return 0
|
|
// }
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) IsJSONHandle() bool {
|
|
return f.d.js
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) I2Rtid(v interface{}) uintptr {
|
|
return i2rtid(v)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) Extension(rtid uintptr) (xfn *extTypeTagFn) {
|
|
return f.d.h.getExt(rtid)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecExtension(v interface{}, xfFn *extTypeTagFn) {
|
|
f.d.d.DecodeExt(v, xfFn.tag, xfFn.ext)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: No longer used,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperDecoder) HasExtensions() bool {
|
|
return len(f.d.h.extHandle) != 0
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: No longer used,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperDecoder) DecExt(v interface{}) (r bool) {
|
|
if xfFn := f.d.h.getExt(i2rtid(v)); xfFn != nil {
|
|
f.d.d.DecodeExt(v, xfFn.tag, xfFn.ext)
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
func (f genHelperDecoder) DecInferLen(clen, maxlen, unit int) (rvlen int) {
|
|
return decInferLen(clen, maxlen, unit)
|
|
}
|
|
|
|
// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
|
|
//
|
|
// Deprecated: no longer used,
|
|
// but leave in-place so that old generated files continue to work without regeneration.
|
|
func (f genHelperDecoder) StringView(v []byte) string { return stringView(v) }
|