เทนเซอร์โฟลว์:: เสิร์ฟ:: แหล่งที่มา
นี่คือคลาสนามธรรม#include <source.h>
นามธรรมสำหรับโมดูลที่แหล่งที่มาของเซิร์ฟเวอร์เพื่อโหลด หรือแม่นยำยิ่งขึ้น จัดการกับข้อมูลที่สามารถใช้เพื่อโหลดเซิร์ฟเวอร์เหล่านั้นได้
สรุป
ตัวอย่างของการจัดการข้อมูลดังกล่าวคือ:
- เส้นทางระบบไฟล์ไปยังแผนที่คำศัพท์ต่อเนื่อง
- การจัดการกับ RPC ขาเข้าที่ระบุโมเดลที่เรียนรู้ด้วยเครื่องเพื่อโหลด
- Loader (ดู loader.h ) จับข้อมูลจะถูกสันนิษฐานว่าโดยทั่วไปจะมีขนาดเล็ก
มา ตรวจสอบบางทรัพยากรภายนอก (เช่นไฟล์ระบบโทร RPC) เพื่อหาข้อมูลเกี่ยว servables ใหม่และ / หรือเวอร์ชันใหม่ของ servables และ / หรือจำเป็นที่จะต้องขนรุ่น servable มันใช้โทรกลับให้กับสั่งโมดูลเป้าหมาย (เช่น AspiredVersionsManager ) รุ่น (s) ของ servable รับภาระ นอกจากนี้ขึ้นอยู่กับความหมายของโมดูลเป้าหมายที่ มา โดยปริยายสั่งนั้นซึ่งคนที่จะยกเลิกการโหลดโดยเลี่ยง servables เหล่านั้น
กรณีที่พบบ่อยคือที่ มา ส่งเสียงรุ่นสำหรับตรงหนึ่ง servable กรณีที่เรียบง่ายกว่านั้นคือ Servable มีเวอร์ชันคงที่เพียงเวอร์ชันเดียวตลอดอายุการใช้งานของเซิร์ฟเวอร์
แหล่งที่มาสามารถระบุสถานะที่ใช้ร่วมกันระหว่างเซิร์ฟเวอร์ที่ปล่อยออกมาได้หลายรายการ เช่น
- พูลเธรดที่แบ่งใช้หรือรีซอร์สอื่นที่หลายเซิร์ฟเวอร์ใช้
- โครงสร้างข้อมูลแบบอ่านอย่างเดียวที่ใช้ร่วมกันซึ่งให้บริการได้หลายรายการ เพื่อหลีกเลี่ยงค่าใช้จ่ายด้านเวลาและพื้นที่ในการจำลองโครงสร้างข้อมูลในแต่ละอินสแตนซ์ที่ให้บริการได้ สถานะที่แบ่งใช้ซึ่งเวลาและขนาดการเริ่มต้นไม่สำคัญ (เช่น พูลเธรด) สามารถสร้างได้อย่างรวดเร็วโดยแหล่งที่มา จากนั้นจึงฝังตัวชี้ลงในแต่ละรายการ ServableData ที่ปล่อยออกมา การสร้างราคาแพงหรือขนาดใหญ่ของรัฐที่ใช้ร่วมกันควรจะรอให้มีผลบังคับใช้เป็นครั้งแรก Loader :: โหลด () โทรคือการปกครองโดยผู้จัดการ สมมาตรที่ พับ :: ยกเลิกการโหลด () เรียกร้องให้ servable สุดท้ายใช้ราคาแพง / ขนาดใหญ่ของรัฐที่ใช้ร่วมกันควรฉีกมันลง
ตัวสร้างและตัวทำลาย | |
---|---|
~Source () |
ประเภทสาธารณะ | |
---|---|
AspiredVersionsCallback | โดยใช้std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)> โทรกลับหา แหล่งที่มา กับรุ่นอุปทาน (s) ของ servable ไปยังเป้าหมายที่จะโหลด |
งานสาธารณะ | |
---|---|
SetAspiredVersionsCallback ( AspiredVersionsCallback callback)=0 | virtual void จัดหา AspiredVersionsCallback เพื่อใช้งาน เรียกได้ไม่เกินครั้งเดียว |
ประเภทสาธารณะ
AspiredVersionsCallback
std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)> AspiredVersionsCallback
โทรกลับหา แหล่งที่มา กับรุ่นอุปทาน (s) ของ servable ไปยังเป้าหมายที่จะโหลด
การเรียกใช้การเรียกกลับครั้งเดียวเกี่ยวข้องกับสตรีมที่แสดงผลได้เดียว (กำหนดโดย 'servable_name') ทุกเวอร์ชันที่ให้มาในการเรียกต้องเป็นสำหรับ servable ที่ระบุใน 'servable_name' การเรียกบนสตรีมที่ให้บริการต่างกันนั้นตั้งฉากกัน
การเรียกหลายครั้งอาจจัดหาอ็อบเจ็กต์ servable-data ที่มีรหัสเหมือนกัน (เช่น ชื่อและเวอร์ชันที่ใช้งานได้เหมือนกัน) ออบเจ็กต์ข้อมูลที่สามารถแสดงได้ดังกล่าวจะถือว่าเทียบเท่ากันในเชิงความหมาย ผู้รับจะเก็บหนึ่งไว้และทิ้งส่วนที่เหลือ
หากมีการระบุเวอร์ชันที่ใช้งานได้ V ในการเรียกใช้ครั้งแรก และต่อมาละเว้นจากการเรียกใช้ครั้งที่สอง ความหมายของการละเว้น V จะขึ้นอยู่กับความหมายของเป้าหมายของการเรียกกลับ เป้าหมายบางอย่างจะตีความการละเว้นของ V เป็นคำสั่งโดยปริยายในการยกเลิกการโหลด V แต่ละเป้าหมายต้องจัดทำเอกสารความหมายของมันในเรื่องนี้
งานสาธารณะ
SetAspiredVersionsCallback
virtual void SetAspiredVersionsCallback( AspiredVersionsCallback callback )=0
จัดหา AspiredVersionsCallback เพื่อใช้งาน เรียกได้ไม่เกินครั้งเดียว
~ที่มา
virtual ~Source()=default