ACIL FM
Dark
Refresh
Current DIR:
/lib/python3.9/site-packages/rhn
/
lib
python3.9
site-packages
rhn
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
actions
-
chmod
Open
Rename
Delete
__pycache__
-
chmod
Open
Rename
Delete
connections.py
9.48 MB
chmod
View
DL
Edit
Rename
Delete
i18n.py
1.73 MB
chmod
View
DL
Edit
Rename
Delete
nonblocking.py
2.37 MB
chmod
View
DL
Edit
Rename
Delete
rhnLockfile.py
3.35 MB
chmod
View
DL
Edit
Rename
Delete
rpclib.py
23.68 MB
chmod
View
DL
Edit
Rename
Delete
SmartIO.py
2.11 MB
chmod
View
DL
Edit
Rename
Delete
SSL.py
10.79 MB
chmod
View
DL
Edit
Rename
Delete
tb.py
836 B
chmod
View
DL
Edit
Rename
Delete
transports.py
31.18 MB
chmod
View
DL
Edit
Rename
Delete
UserDictCase.py
2.96 MB
chmod
View
DL
Edit
Rename
Delete
__init__.py
132 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /lib/python3.9/site-packages/rhn/nonblocking.py
# # # import select import fcntl import os class NonBlockingFile: def __init__(self, fd): # Keep a copy of the file descriptor self.fd = fd fcntl.fcntl(self.fd.fileno(), fcntl.F_SETFL, os.O_NDELAY) # Set the callback-related stuff self.read_fd_set = [] self.write_fd_set = [] self.exc_fd_set = [] self.user_data = None self.callback = None def set_callback(self, read_fd_set, write_fd_set, exc_fd_set, user_data, callback): self.read_fd_set = read_fd_set # Make the objects non-blocking for f in self.read_fd_set: fcntl.fcntl(f.fileno(), fcntl.F_SETFL, os.O_NDELAY) self.write_fd_set = write_fd_set self.exc_fd_set = exc_fd_set self.user_data = user_data self.callback = callback def read(self, amt=0): while 1: status_changed = 0 readfds = self.read_fd_set + [self.fd] writefds = self.write_fd_set excfds = self.exc_fd_set print("Calling select", readfds) readfds, writefds, excfds = select.select(readfds, writefds, excfds) print("Select returned", readfds, writefds, excfds) if self.fd in readfds: # Our own file descriptor has changed status # Mark this, but also try to call the callback with the rest # of the file descriptors that changed status status_changed = 1 readfds.remove(self.fd) if self.callback and (readfds or writefds or excfds): self.callback(readfds, writefds, excfds, self.user_data) if status_changed: break print("Returning") return self.fd.read(amt) def write(self, data): return self.fd.write(data) def __getattr__(self, name): return getattr(self.fd, name) def callback(r, w, e, user_data): print("Callback called", r, w, e) print(r[0].read()) if __name__ == '__main__': import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("localhost", 5555)) f = s.makefile() ss = NonBlockingFile(f) s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s2.connect(("localhost", 5556)) f = s2.makefile() ss.set_callback([f], [], [], None, callback) xx = ss.read() print(len(xx))
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply