Submit
Path:
~
/
/
opt
/
alt
/
postgresql11
/
usr
/
include
/
pgsql
/
server
/
replication
/
File Content:
walsender_private.h
/*------------------------------------------------------------------------- * * walsender_private.h * Private definitions from replication/walsender.c. * * Portions Copyright (c) 2010-2012, PostgreSQL Global Development Group * * src/include/replication/walsender_private.h * *------------------------------------------------------------------------- */ #ifndef _WALSENDER_PRIVATE_H #define _WALSENDER_PRIVATE_H #include "access/xlog.h" #include "nodes/nodes.h" #include "replication/syncrep.h" #include "storage/latch.h" #include "storage/shmem.h" #include "storage/spin.h" typedef enum WalSndState { WALSNDSTATE_STARTUP = 0, WALSNDSTATE_BACKUP, WALSNDSTATE_CATCHUP, WALSNDSTATE_STREAMING } WalSndState; /* * Each walsender has a WalSnd struct in shared memory. */ typedef struct WalSnd { pid_t pid; /* this walsender's process id, or 0 */ WalSndState state; /* this walsender's state */ XLogRecPtr sentPtr; /* WAL has been sent up to this point */ bool needreload; /* does currently-open file need to be * reloaded? */ bool sendKeepalive; /* do we send keepalives on this connection? */ /* * The xlog locations that have been written, flushed, and applied by * standby-side. These may be invalid if the standby-side has not offered * values yet. */ XLogRecPtr write; XLogRecPtr flush; XLogRecPtr apply; /* Protects shared variables shown above. */ slock_t mutex; /* * Latch used by backends to wake up this walsender when it has work to * do. */ Latch latch; /* * The priority order of the standby managed by this WALSender, as listed * in synchronous_standby_names, or 0 if not-listed. Protected by * SyncRepLock. */ int sync_standby_priority; } WalSnd; extern WalSnd *MyWalSnd; /* There is one WalSndCtl struct for the whole database cluster */ typedef struct { /* * Synchronous replication queue with one queue per request type. * Protected by SyncRepLock. */ SHM_QUEUE SyncRepQueue[NUM_SYNC_REP_WAIT_MODE]; /* * Current location of the head of the queue. All waiters should have a * waitLSN that follows this value. Protected by SyncRepLock. */ XLogRecPtr lsn[NUM_SYNC_REP_WAIT_MODE]; /* * Are any sync standbys defined? Waiting backends can't reload the * config file safely, so checkpointer updates this value as needed. * Protected by SyncRepLock. */ bool sync_standbys_defined; WalSnd walsnds[1]; /* VARIABLE LENGTH ARRAY */ } WalSndCtlData; extern WalSndCtlData *WalSndCtl; extern void WalSndSetState(WalSndState state); extern void XLogRead(char *buf, XLogRecPtr startptr, Size count); /* * Internal functions for parsing the replication grammar, in repl_gram.y and * repl_scanner.l */ extern int replication_yyparse(void); extern int replication_yylex(void); extern void replication_yyerror(const char *str); extern void replication_scanner_init(const char *query_string); extern void replication_scanner_finish(void); extern Node *replication_parse_result; #endif /* _WALSENDER_PRIVATE_H */
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
basebackup.h
494 bytes
0644
syncrep.h
1440 bytes
0644
walprotocol.h
3367 bytes
0644
walreceiver.h
3885 bytes
0644
walsender.h
1001 bytes
0644
walsender_private.h
3036 bytes
0644
N4ST4R_ID | Naxtarrr