mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-23 01:53:28 +00:00
1fbaee6149
Since we are rebasing to at least Python 3.6, and with some extra ctypes wranging of the ssl context, we can likely remove PyOpenSSL. Take first steps by removing it from 'sockapi'. Have confluent executable become the 'top level' for eventlet, to allow work on 'de-eventleting' on 'main.py'. Rework tlvdata to deal with either a socket or a reader, writer tuple. Using TLS with asyncio is easiest with the 'open_connection' semantics, which force either a Protocol handler (callback based) or dual streams. While protocol approach ends with a more socket-like 'transport', the 'protocol' half is a bit unwieldy. So reader and writer streams instead.
49 lines
1.4 KiB
Python
Executable File
49 lines
1.4 KiB
Python
Executable File
#!/usr/bin/python3
|
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
|
|
|
# Copyright 2014 IBM Corporation
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import asyncio
|
|
import sys
|
|
import os
|
|
import eventlet
|
|
import eventlet.hubs
|
|
eventlet.hubs.use_hub("eventlet.hubs.asyncio")
|
|
from eventlet.asyncio import spawn_for_awaitable
|
|
|
|
|
|
path = os.path.dirname(os.path.realpath(__file__))
|
|
path = os.path.realpath(os.path.join(path, '..', 'lib', 'python'))
|
|
if path.startswith('/opt'):
|
|
# if installed into system path, do not muck with things
|
|
sys.path.append(path)
|
|
import confluent.main
|
|
|
|
#import cProfile
|
|
#import time
|
|
#p = cProfile.Profile(time.clock)
|
|
#p.enable()
|
|
#try:
|
|
import multiprocessing
|
|
if __name__ == '__main__':
|
|
multiprocessing.freeze_support()
|
|
gt = spawn_for_awaitable(confluent.main.run(sys.argv))
|
|
gt.wait()
|
|
#except:
|
|
# pass
|
|
#p.disable()
|
|
#p.print_stats(sort='cumulative')
|
|
#p.print_stats(sort='time')
|