Yuki Takei 5 سال پیش
والد
کامیت
73daec7b2f

+ 3 - 0
src/server/models/vo/s2s-message.js

@@ -1,3 +1,6 @@
+/**
+ * Server-to-server message VO
+ */
 class S2sMessage {
 
   constructor(eventName, body = {}) {

+ 4 - 0
src/server/service/s2s-messaging/handlable.js

@@ -1,4 +1,8 @@
 // TODO: make interface with TS
+
+/**
+ * The interface to handle server-to-server message
+ */
 class S2sMessageHandlable {
 
   shouldHandleS2sMessage(s2sMessage) {

+ 3 - 0
src/server/service/s2s-messaging/index.js

@@ -5,6 +5,9 @@ const envToModuleMappings = {
   nchan:   'nchan',
 };
 
+/**
+ * Instanciate server-to-server messaging service
+ */
 class S2sMessagingServiceFactory {
 
   initializeDelegator(crowi) {

+ 3 - 0
src/server/service/socket-io.js

@@ -1,5 +1,8 @@
 const socketIo = require('socket.io');
 
+/**
+ * Serve socket.io for server-to-client messaging
+ */
 class SocketIoService {
 
   get isInitialized() {

+ 13 - 0
src/server/service/system-events/sync-page-status.js

@@ -3,6 +3,19 @@ const logger = require('@alias/logger')('growi:service:system-events:SyncPageSta
 const S2sMessage = require('../../models/vo/s2s-message');
 const S2sMessageHandlable = require('../s2s-messaging/handlable');
 
+/**
+ * This service notify page status
+ *  to clients who are connecting to this server
+ *  and also notify to clients connecting to other GROWI servers
+ *
+ * Sequence:
+ *  1. A client A1 connecting to GROWI server A updates a page
+ *  2. GROWI server A notify the information
+ *    2.1 -- to client A2, A3, ... with SocketIoService
+ *    2.2 -- to other GROWI servers with S2sMessagingService
+ *  3. GROWI server B, C, ... relay the information to clients B1, B2, .. C1, C2, ... with SocketIoService
+ *
+ */
 class SyncPageStatusService extends S2sMessageHandlable {
 
   constructor(crowi, s2sMessagingService, socketIoService) {