क्या आपको mod_pagespeed को किसी दूसरे सर्वर पर पोर्ट करना है या उसे किसी दूसरे सिस्टम में इंटिग्रेट करना है? वाह! हमने मोडल पेज बनाने के लिए mod_pagespeed का इस्तेमाल किया. साथ ही,
Apache से पूरी तरह अलग है. Apache के लिए सिर्फ़ net/instaweb/apache कोड वाली डायरेक्ट्री में कोड मौजूद है.
अगर आप हमारे सोर्स को देखते हैं, तो हमारा मुख्य कोड net/instaweb/ में है:
- util/ और http/ हमारे कई बुनियादी टूल हैं. इनमें
MessageHandler,Timer, औरUrlFetcherजैसी ऐब्स्ट्रैक्ट बेस क्लास शामिल हैं. लागू करने के कुछ तरीके यहां दिए गए हैं. हालांकि, आपको इनमें से कई तरीकों को खुद ही लागू करना होगा. - htmlparse/ में मुख्य एचटीएमएल पार्सर है. आपको बिल्कुल भी इसका सामना नहीं करना पड़ेगा.
- rewrite/ में रीराइटिंग फ़िल्टर और फ़्रेमवर्क होता है. सेंट्रल इंटिग्रेशन पॉइंट, यहां
RewriteDriverFactoryका कुछ हिस्सा एक ऐब्स्ट्रैक्ट क्लास है. इंटिग्रेशन की कोशिश, सब-क्लास करने और उसके वर्चुअल तरीकों से करने से शुरू होगी.
हो सकता है कि आपको इन क्लास के लिए पोर्ट लागू करना पड़े (apache/ डायरेक्ट्री में उदाहरण लागू करें देखें):
- MessageHandler - गड़बड़ी को हैंडल करना (उदाहरण के लिए, FileMessageHandler और ApacheMessageHandler देखें)
- FileSystem (उदाहरण के लिए StdioFileSystem और अप्रैलFileSystem)
- AbstractCondvar (PthreadCondvar और अप्रैलCondvar का उदाहरण देखें)
- Aabstractम्यूटx (Pthreadम्यूटx और अपम्यूटक्स का उदाहरण देखें)
- आंकड़े - अलग-अलग ग्लोबल आंकड़ों का ट्रैक रखें (उदाहरण SimpleStats और अप्रैलआंकड़े देखें)
- टाइमर (उदाहरण के लिए, MockTimer और अपटाइमर देखें)
- UrlFetcher - यूआरएल के हिसाब से फ़ेचर (उदाहरण के लिए, WgetUrlFetcher और SyncFetcherAdapter देखें)
- UrlAsyncFetcher - कॉलबैक इंटरफ़ेस की मदद से ऐसा ही होता है (WgetUrlAsyncFetcher (और SerfUrlAsyncFetcher) का उदाहरण देखें; इनमें से बाद वाला इवेंट, UrlPoableAsyncFetcher पर सबसे ऊपर बनाया गया एसिंक्रोनस इवेंट मॉडल इस्तेमाल करता है)
- RewriteDriverFactory - लागू करने के सभी विकल्पों और क्लास को मैनेज करता है, जैसे कि ApacheRewriteDriverFactory देखें
इसके बाद, कोड शुरू करने के लिए, आपको सभी ऑब्जेक्ट बनाने के लिए FooRewriteDriverFactory बनाना होगा. इसके बाद, StartParseWithType(url, content_type), सर्वर के हर फ़्लश के बीच PareText(text), और हर अनुरोध के लिए EndParse() बनाना होगा.
अगर आपको इस बारे में जानकारी चाहिए या कोई समस्या आ रही है, तो कृपया हमारी डेवलपमेंट ईमेल पाने वाले लोगों की सूची लिखें. हम इस बात की गारंटी नहीं देते हैं कि सभी अंदरूनी इंटरफ़ेस पहले जैसे ही रहेंगे. इसलिए, अगर हमें लगता है कि आपके इंटरफ़ेस का इस्तेमाल किया जा रहा है, तो हम आपके पोर्ट को आसानी से तोड़ सकते हैं.