github.com/endurox-dev/endurox-go (go): *  @brief XATMI main package  NOTES for finalizers! Note that if we pass from finalized object (typed ubf,  expression tree or ATMI Context) pointer to C, the and the function call  for the object is last in the object's go scope, the go might being to GC  the go object, while the C function have received pointer in args. Thus  C side in the middle of processing might get destructed object. e.g.  c_str := C.BPrintStrC(&u.Buf.Ctx.c_ctx, (*C.UBFH)(unsafe.Pointer(u.Buf.C_ptr)))  after enter in C.BPrintStrC(), the GC might kill the u object. Thus to avoid  this, we create a defered "no-op" call in the enter of go func. With "u.Buf.nop()"  at the end of the functions. *  @file atmi.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief XATMI main package, server API *  @file atmisrv.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief TPLOG - text logging and debuging API provided by Enduro/X *  @file tplog.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief Typed C-Array (binary array) IPC buffer support *  @file typed_carray.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief JSON IPC Buffer support *  @file typed_json.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief Plain text IPC buffer support *  @file typed_string.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief Unified Buffer Format (UBF) - Key value protocol buffer support *  @file typed_ubf.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief Unified Buffer Format (UBF) marshal/unmarshal to/from structures *  @file typed_ubf_tag.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------  *  @brief VIEW buffer support - dynamic access *  @file typed_view.go  -----------------------------------------------------------------------------  Enduro/X Middleware Platform for Distributed Transaction Processing  Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.  Copyright (C) 2017-2019, Mavimax, Ltd. All Rights Reserved.  This software is released under one of the following licenses:  LGPL or Mavimax's license for commercial use.  See LICENSE file for full text. *  C (as designed by Dennis Ritchie and later authors) language code is licensed  under Enduro/X Modified GNU Affero General Public License, version 3.  See LICENSE_C file for full text.  -----------------------------------------------------------------------------  LGPL license: *  This program is free software; you can redistribute it and/or modify it under  the terms of the GNU Lesser General Public License, version 3 as published  by the Free Software Foundation; *  This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 3  for more details. *  You should have received a copy of the Lesser General Public License along  with this program; if not, write to the Free Software Foundation, Inc.,  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *  -----------------------------------------------------------------------------  A commercial use license is available from Mavimax, Ltd  contact@mavimax.com  -----------------------------------------------------------------------------
Keywords: application-server|cluster|go-app-server|ipc|multiprocessing|real-time|real-time-processing