Integración Cloud (Golang)

Go es el rey de los microservicios, y Orzatty Protocol vuela sobre Go gracias al puente CGO. Alta concurrencia con Goroutines.

1

Llamando a las librerías dinámicas de C

Go se lleva exelente con C gracias a `cgo`. Ponemos el `po_c.dll` o `.so` en el disco y llamamos a The Core.
package main

/*
#cgo LDFLAGS: -L. -lpo_c
#include "po.h"
#include <stdlib.h>
*/
import "C"
import (
	"fmt"
	"unsafe"
)

func main() {
    // Apuntamos al maestro
	bindC := C.CString("0")
	remoteC := C.CString("127.0.0.1:4433")
	defer C.free(unsafe.Pointer(bindC))
	defer C.free(unsafe.Pointer(remoteC))

	client := C.po_client_new(bindC, remoteC)
	fmt.Println("¡Goroutine conectada E2EE!")
    
    // Disparo binario
	data := []byte("Hola Orzatty desde Go")
	cData := (*C.uint8_t)(unsafe.Pointer(&data[0]))
	C.po_client_send(client, cData, C.size_t(len(data)))

	C.po_client_free(client)
}

💡 Para que lo entiendas súper fácil: Ese pequeño bloque de `/* #cgo */` en la parte superior es literalmente magia oscura que le permite a una tortuga (Go) subirse al lomo de un tigre robot (API C/Rust de Orzatty) y correr como si nada.