ECluster DLL - RPC & Mehr [Release] Version: 1.0.3.2

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Ersetze mal MD5_Text() durch folgendes:

Code: Alles auswählen

Procedure MD5_Text(hSlave, Master, JobNumber, Para, *Stream)
  Protected MD5.s, *Mem.ECluster_Mem
  *Mem = ECluster_Parameter_GetMem(Para)
  MD5 = MD5Fingerprint(*Mem\Mem, *Mem\MemSize-SizeOf(Character))
  ECluster_FreeMemory(*Mem\Mem)
  ECluster_FreeMemory(*Mem)
  
  ProcedureReturn ECluster_Return_String(MD5)
EndProcedure
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Beitrag von - chris - »

Sieht gut aus.

Slave crashed nicht mehr.
PB v5.72 x86/x64
Windows 10 Pro 64bit
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

- chris - hat geschrieben:Sieht gut aus.

Slave crashed nicht mehr.
Jo, hab den Fehler.
PB - Hilfe hat geschrieben:Hinweise zur Rückgabe von Strings aus DLL's:

Bei der Rückgabe von Strings aus einer DLL-Funktion muß der String als Global deklariert sein.
Natürlich hab ich das gemacht. Nur wenn zig Threads auf einen globalen String zugreifen hilft auch der TLS vom Thread-Safe Mode nix mehr. Ich werds in der nächsten Version auf ne eigene Globale Variable legen und per Mutex locken, bis dahin bitten den WA mit *_GetMem() benutzen.

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update: Version # 1.0.3.1
  • String Bug behoben
  • Compilercheck für ThreadSafe im Include
Der Bug mit der Stringrückgabe wurde behoben und der User bekommt nun eine nette Erinnerung doch bitte bei der Verwendung von ECluster der ThreadSafe Mode zu nutzen.

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... luster.zip

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Beitrag von - chris - »

Beim kompilieren von CRC_MasterDemo.pb komm ein Macro-Fehler:

[16:17:07] [COMPILER] Zeile 134: Eine Variable kann nicht genauso wie ein PureBasic Schlüsselwort genannt werden: Protected.

Code: Alles auswählen

SetGadgetText(MD5_S, Protected String$, *StringMem = _ECluster_Master_Event_JobString(M1)
If *StringMem
  String$ = PeekS(*StringMem)
  ECluster_FreeMemory(*StringMem)
  ProcedureReturn String$
EndIf)
PB v5.72 x86/x64
Windows 10 Pro 64bit
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Bitte nochmal downloaden, ist behoben.

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update: Version # 1.0.3.2
  • Streams intern optimiert (Abwärtskompatibel)
  • Erlaubnis für P2P Streams am Server für jeden oder alle Master individuell einstellbar (ECluster_Slave_EnableStreamTransmission())
  • Windows & Linux Versionen wieder kompatibel
  • Bug mit Kompression und Streamübertragung behoben
Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... luster.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Kleine Zwischenfrage:

Hat jemand ECluster schon unter einem nativen Linux getestet? Ich komme nicht dazu die Lib im Netzwerk unter Linux zu testen da ich sicher kein Linux-System nativ installieren werde sondern nur in ner VM und die bekommen schon aus Prinzip keinen Netzwerk - Zugriff, bzw. die Verbindung über die Virtuellen Adapter währe sowieso nicht aussagekräftig.

Will grade ein paar größere Funktionen implementieren und da würde ich gerne vorher wissen ob es jetzt schon Probleme gibt die ich vorher beseitigen sollte.

Danke schonmal und Gruß Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • ECluster Slave Master - Mangemant verbessert
  • ECluster_Slave_SetMasterXtraDataDeinitCallback(): CB für Deinitalisieren der Userdaten
Einige Verbesserungen am internen Management der Master am Slave vorgenommen. In seltenen Fällen konnte es passieren das einige Limitierungen bzw. Berechtigungen eines Master bei Neuvergabe der Nummer auf den neuen Master übernommen wurden. Job - Daten usw. konnten NICHT falsch weitergesendet werden da interne TimeStamps dies ausgeschlossen haben.

Die Verwaltung gibt Ressourcen die für die Verwaltung benötigt werden nun schneller wieder frei, bzw. ist allgemein speicherschonender.

Das neue Sicherheitskonzept lässt nach dem Abmelden eines Masters keine Zugriffe auf seine Daten mehr zu (IP, Port, XtraDaten, ...) sodass es nötig wurde ein Callback einzuführen damit die XtraDaten gegebenenfalls noch deinitialisiert werden können.

Die Linux - Version wurde noch nicht aktualisiert.


Viel Spaß damit :D

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... luster.zip

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Interne Optimierungen
  • Kleiner Bug mit KickMaster beseitigt
  • ECluster_Slave_SendMasterEvent(): Eigene Events an den Master senden
Kleines Update. Der Master bekam kein Kick - Event wenn er vom Slave gekickt wurde. Mit ECluster_Slave_SendMasterEvent() ist es nun möglich eigene Events über die ECluster - Eventverwaltung vom Slave an den Master durchzuschleifen ("normales" & Callback - Eventmanagement) und so Aktionen zu triggern.

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... luster.zip

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Antworten